2025.01.07 杂题记录
2025.01.07 杂题记录
今天是好题选讲,顺便做了一些别的题目。
P3380 【模板】树套树
好,我终于搞明白树套树是怎么回事了,以前一直没做大概是因为平衡树好不太熟悉。
题目大意就是把普通平衡树的各种操作放在序列上,加上区间的限制。
树套树最普遍的做法就是线段树套平衡树。
考虑对线段树上的每一个节点都开一个平衡树,讲到这大概就会做了。
做法1:线段树以位置为索引,在平衡树中存放值。这样的做法,对于查询第 k 大则需要二分答案,时间复杂度是
做法2:这是题解区的又一个线段树套平衡树的做法,我实现了这种做法。考虑离散化后,在线段树上以值为索引,往平衡树中存放位置,这样查询排名第 k 大就可以在线段树上二分。时间复杂度优化成了
有了树套树后,我们就能在线地做带修改的二维数点,不过如果能离线做那么还是写分治吧。
P9036 「KDOI-04」挑战 NPC Ⅲ
好题选讲里的一道题,我也觉得非常好(又水一道紫)。
题目大意是求
首先转化成求大小为
考虑到
对于剩下的未覆盖的边,每次选一个点最多覆盖
因为边不多,且选的点很少,考虑爆搜,我们枚举每一条未被覆盖的边,然后选择其中的一些端点,使它可以被覆盖,过程中要使得确定为选的点数量小于等于
设
时间消耗大致是
CF848C Goodbye Souvenir
我们记
那么一个数第一次出现当且仅当
考虑到一次修改只会有 set
可以轻易维护出每次修改后
我们再把上面的条件加上时间一维,加上贡献的正负,之后跑 cdq分治 即可。时间复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】