#P10381. 「HOI R1」杂赛选比

    ID: 9755 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>动态规划,dp线段树并查集2024O2优化洛谷比赛

「HOI R1」杂赛选比

题目背景

你说得对,但是小 \iiint 在打 CF 时将 Earn or Unlock 错看成了下面的鬼畜样子,痛失 2h 遗憾离场,希望大家引以为戒。

题目描述

给定一个长度为 nn 的数组 aa,初始只有 a1a_1 是已被解锁的。现在有一个整数 ii,初始值为 11。现在小 \iiint 在对这个数组进行一个游戏:

  • 如果 aia_i 未被解锁,游戏结束。
  • 否则他可以将 ai+1i+aia_{i+1\sim i+a_i} 设置成已被解锁的,或是获得 aia_i 个金币(如果 ai=0a_i=0 则无法解锁任何元素),然后将 ii11

请你求出游戏结束后你能获得的最大金币数量。

输入格式

本题有多组测试数据。

第一行一个整数 TT,表示测试数据组数。

对于每一组数据,第一行一个正整数 nn

接下来一行 nn 个非负整数 a1na_{1\sim n}

输出格式

对于每一组数据,一行一个数,表示答案。

3
2
1 2
5
2 4 5 0 1
4
0 4 4 4

2
9
0

1
10
1 1 4 5 1 4 1 9 1 9
26

提示

【样例 1 解释】

对于第一组数据,你可以解锁 a2a_2,再获得 a2a_2 个金币。而对于第三组数据,你无法解锁 a2a_2,因此只能获得 00 个金币。

对于第二组数据,你可以解锁 a2,a3a_2,a_3,并获得 99 个金币。

【样例 2 解释】

将第 1,2,3,61,2,3,6 个位置用于解锁为最优方案。

【数据范围】

对于 100%100\% 的数据,1n1051\le n\le10^50ai1050\le a_i\le10^5T5T\le 5

测试点编号 nn\leq aia_i\leq T=T= 特殊性质
11 1010 00 11 /
232\sim3 55
454\sim5 600600
686\sim8 50005000
9109\sim10 10510^5 55 55
111211\sim12 5×1045\times10^4 10510^5 ai>na_i>n
132013\sim20 10510^5 /