KTT学习笔记
1|0KTT 学习笔记
KTT 是由 EI 给出的解决区间加正数、区间最大子段和的数据结构。
大体的思路是在把普通最大子段和的信息看成和增量有关的一次函数,然后维护增量为多少时取到最大值的信息会改变,相当于是维护凸壳,但是只维护当前段和当前段的末尾位置,通过势能分析可以得到复杂度是
1|1P5693 EI 的第六分块
题意:区间加正数,区间最大子段和。
思路:模版题,可以用来练手。
1|2P5073 [Ynoi2015] 世上最幸福的女孩
题意:全局加,区间最大子段和。
思路:离线下来,把每次询问时累计加了多少求出来,从小到大排序,这样就转成了全局加正数,区间最大子段和。
1|3P6792 [SNOI2020] 区间和
题意:区间对一个数取
思路:吉司机线段树+KTT。
因为有区间取
复杂度应该是和 KTT 一致,就是说两种势能可以分开考虑。
1|4The Awesomest Vertex
题意:给定一棵根为
现在请你支持两种操作:
— 将 加上 — 输出以 为根的子树中最大的真棒程度
思路:发现很像区间加区间最大子段和,但是不会处理绝对值。
其实处理绝对值只需把
而且这道题求的是单点值,不用维护除了
1|5CF1830F The Third Grace
题意:给定一个数轴上的
最初,所有点都未激活。你需要选择一些点来激活。对于每个区间
- 若区间内没有被激活的点,则代价为
; - 否则,代价为在区间内坐标最大的被激活点的系数。
你的任务是通过选择哪些点激活,使得所有区间的代价之和最大。
思路:很厉害的题目。
设
考虑怎么转移。枚举下一个位置
考虑扫描线来维护所有
这就是 KTT 可解决的问题了。
__EOF__

本文链接:https://www.cnblogs.com/Xttttr/p/18015339.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探