欢迎光临散文网 会员登陆 & 注册

CF竞赛题目讲解_CF1405E(树状数组)

2022-07-31 10:47 作者:Clayton_Zhou  | 我要投稿

//https://codeforces.com/problemset/problem/1405/E

 给定一个序列,当 a[ i] = i ,也就是对应位置的数字等于下标时,可以删除这个数。然后该数之后的数全体前移一位。


       很容易可以得到结论,令 fi  为前 i  个数中可以删的数据个数。当前数可以删除当且仅当 i − a[i] ≤ fi

       查询为将 [1,x] 和[n−y+1,n] 的范围内的 a[i]  改为 n+1 时(下文称做屏蔽),问你此时最多能删多少个数。



       对于每个数,考虑屏蔽前 x 个数时,能否删除。   我们考虑最大的 x,作为limit,屏蔽前 x 个数且 x ≤limit时,可以正常删除,否则不能。


input

 

13 5

2 2 3 9 5 4 6 5 7 8 3 11 13

3 1

0 0

2 4

5 0

0 12


CF竞赛题目讲解_CF1405E(树状数组)的评论 (共 条)

分享到微博请遵守国家法律