专栏文章
比赛:CF2151 Div.2
题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minsotg1
- 此快照首次捕获于
- 2025/12/02 07:43 3 个月前
- 此快照最后确认于
- 2025/12/02 07:43 3 个月前
CF2151 Div.2
A. Incremental Subarray
如果有跨段的情况,答案为 。否则子数组只在一段内,输出 。
B. Incremental Path
考虑继承上一个人的位置,如果上一个人的最后一个操作是 ,那么当前的人就在上一个人的终止位置进行一次 操作,然后再进行这个人的最后一次操作。暴力往后跳即可,跳的次数是 的。
C. Incremental Stay
被覆盖的次数 一定和 同奇偶,并且 ,于是可以有如下构造来使每一段被覆盖的次数都达到上界:
- 对于两端的 匹配。
- 对于中间的 。
D. Grid Counting
这题限制条件都很紧,从题目的条件一步步缩小计数范围即可。
E. Limited Edition Shop
赛时不知道为什么想那么久贪心。考虑 DP。
设 表示 Alice 拿完前 个,Bob 拿完前 个,之后 Alice 能获得的最大价值。边界是 ,答案为 。
考虑 暴力转移:
-
,其中 表示 在 中的下标。
-
。
第一个转移是前缀加,第二个转移相当于要维护后缀 。
如果前缀加一个正数,后缀 不变。
如果前缀加一个负数,
- 假设当前是区间 加 ,当前后缀 数组为 。对于 中所有满足 的位置,相当于要直接赋值为 ;否则,直接加上 不会影响后缀 数组。
因此用线段树 区间加 + 区间赋值 维护即可,找位置可以用线段树二分做到 ,直接写二分 也能过。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...