DP专场
CF1814E Chain Chips
好久没写这种题了~~
不带修时,为了让总距离和最短,考虑让相邻的车互换位置,但如果单纯这样有可能剩下一辆车,那就让相邻的三辆车换一下。发现当车的个数
利用加法对取
用线段树维护支持修改。
CF1774E Two Chess Pieces
考虑每个棋子必须经过哪些点:
- 子树里有己方标记点的点
- 与子树中对方最深标记点距离大于
的点
除根结点外每个需经节点贡献为
虚假的
CF1763D Valid Bitonic Permutations
看到数据范围都很小啊,考虑枚举拐点 也有可能是我比较逊没想到),拐点的数值必是
除了中间两类(拐点不在中间的时候)都很好理解啊,考虑拐点在中间的情况,以
真实的数学,虚假的
CF1762F Good Pairs
如果直接从一个位置
但其实有这样一个事实,当
考虑只考虑单调不降的,反过来再做一遍,再把全相同的算重的部分减掉。
设
- 在
和 之间 的必然不满足。 - 在
左侧且值域在 的 都可转移到 。 - 在
及其左侧且值域在 的 都直接通过 转移。
用线段树维护即可。注意每次不能暴力建树,做一遍反操作清空。
CF1840F Railguns
设
第一维可以滚动数组,后两维可以压成一维。
CF1843F2 Omsk Metro (hard version)
发现树上一条路径
由于点权值域为
具体的用倍增实现,在
CF1827C Palindrome Partition
CF1750F Majority
有一位伟人告诉我们:正难则反
这题的
于是对于
对于
其中
本文作者:Semorius
本文链接:https://www.cnblogs.com/Semorius/p/17566462.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步