cf1453F 二维DP 思维
题意
目前我们有一个序列,在第i个点可以走到[i + 1, i + a[i]]区间内的任意一点(也就是说如果a[i]是0,路就走不通了)
现在要求我们将一些位置置零,使得从1走到n只有一条路径。输出最小置零数量,保证输入有解。
思路
- 因为n<=3000,所以尝试二维动态规划。首先设计状态是最重要的一步,我们定义 F i , j F_{i,j} Fi,j 为从1到i仅有一条路径,且路径中的点最远到达不超过j,这种情况下的最小置零个数。
- 那么显然 F 1 , j F_{1,j} F1,j 全为0,答案为 F n , n F_{n,n} Fn,n
- 从2开始计算,对于当前的i,我们枚举i - 1 ~ 1的所有点,如果有 j + a j ≥ i j + a_j \ge i <