专栏文章
题解:CF2065F Skibidus and Slay
CF2065F题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mipv9y0j
- 此快照首次捕获于
- 2025/12/03 18:31 3 个月前
- 此快照最后确认于
- 2025/12/03 18:31 3 个月前
结论题。
看完题目觉得十分困难,难道是树剖?但这是 Div.4,不会太困难,直接大胆猜测:对于一条路径不需要全部遍历,只需要找一部分。
那要找的长度到底是多少?考虑一条合法的路径的性质。
用 表示多数元素, 表示非多数元素,因为 出现了总数的一半以上,所以有很大概率会有 个甚至更多的 在一起,最差情况也会是 和 交替出现。换而言之,合法路径必然包含 或 类型的子序列。
设路径长度为 ,更详细的说:
若 为奇数(这部分来源于官解),设其中有 个 , 个 ,已知 ,那么 ,若不包含 ,那么每个 之间都需要 ,所以 ,可得 。综合可得 ,则 唯一取值为 ,此时路径为 ,包含 。
若 为偶数,则 出现至少 次,但不重叠的长度为 的段只有 个,根据抽屉原理,必然有至少一段出现 个 ,也就是出现 。
综上,可以得到一个一般结论:若存在一条多数元素为 的路径,则必然存在两个相邻节点的数都为 ,或一条长度为 的路径,其两端的数为 。
然后就可以枚举着找了,判断数字可以用 map,具体可以看官解或别的题解,这里不放代码了。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...