专栏文章
题解:CF2152F Triple Attack
CF2152F题解参与者 2已保存评论 5
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @minp8l9r
- 此快照首次捕获于
- 2025/12/02 06:06 3 个月前
- 此快照最后确认于
- 2025/12/02 06:06 3 个月前
一开始读成 然后发现是宝宝题,然而对本题做法没有任何启发。
题意等价于选一个子序列满足 ,因此需要按奇偶分别考虑。先考虑如果合法条件是 的话怎么做。可以无脑离线但是对本题做法没有任何启发,令 代表 后面第一个 的位置 ,则贪心地从 开始不断跳 直到超过 即可,套个倍增即可维护。这里我们建树 方便理解。
考虑怎么做原题,仍然贪心地选择 ,此时我们要分别构造两条链,理想的情况是 各自跳父亲,互不影响。但实际上显然跳到 时会出现问题,两条链怎么能重复呢。这个时候我们要令一条链换个位置,贪心的换成 即可。如果 超过了 ,直接分别跳两条链即可。当然不能每次暴力大跳到 复杂度不对,可以再套一个倍增。
具体来说,先倍增的跳 直到这个位置要超过 了,然后分别两个小倍增跳两条链。复杂度 。
submission:https://codeforces.com/contest/2152/submission/341854975
相关推荐
评论
共 5 条评论,欢迎与作者交流。
正在加载评论...