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

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

2022-08-04 10:53 作者:Clayton_Zhou  | 我要投稿

// https://codeforces.com/problemset/problem/474/e


因为 a 范围很大,所以先排序去重到 b 数组。

令 dp[i] 表示取到了第 i 个数的最大长度。

然后在 b 中二分找到大于等于 hi+d 的第一个位置r,二分找到小于等于 hi−d 的第一个位置 l。

随后需要知道 hi 在区间 [1,l] 或 [r,upper_limit] 内的 max{dp[res]}。

这里使用2个树状数组维护最大值


input

5 2

1 3 6 7 4



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

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