随笔分类 - 数据结构——线段树——势能线段树
摘要:"洛谷题目传送门" 闲话 考场上一眼看出这是个毒瘤线段树准备杠题,发现实在太难调了,被各路神犇虐哭qwq 考后看到各种优雅的暴力AC。。。。。。宝宝心里苦qwq 思路分析 题面里面是一堆乱七八糟的限制和性质,这时候需要冷静想想有没有可利用的地方。蒟蒻一开始往势能线段树上面想了想。 定义一个全局势能函
阅读全文
摘要:"BZOJ题目传送门" 终于体会到初步掌握势能分析思想的重要性了。 一开始看题,感觉套路还是很一般啊qwq。~~直接在线段树上维护最大值和最小值,每次递归更新的时候,如果不能完全覆盖就暴力递归下去。挺好写的欸~~ 鉴于上次写 "冒险" 常数太大的经历,蒟蒻这次来个码风奇特的指针线段树 cpp inc
阅读全文
摘要:"BZOJ题目传送门" 表示蒟蒻并不能一眼看出来这是个势能线段树。 不过仔细想想也并非难以理解,感性理解一下,在一个区间里又与又或,那么本来不相同的位也会渐渐相同,线段树每个叶子节点最多修改次(为值域)。 那么,我们做区间修改的时候,进行判断:如果这一次修改对区间里所有数的影响
阅读全文
摘要:线段树分裂 以某个键值为中点将线段树分裂成左右两部分,应该类似Treap的分裂吧(我菜不会Treap)。一般应用于区间排序。 方法很简单,就是把分裂之后的两棵树的重复的个节点新建出来,单次时间复杂度严格。 至于又有合并又有分裂的复杂度,蒟蒻一直不会比较有说服力的证明
阅读全文