摘要:
传送门 动态区间第k小 想一下: 静态区间第k小 -> 主席树 动态整体第k小 -> 树状数组 所以树套树就行了 事实上这题还真就套一下 也不难写 一共两个操作: 1.插入 原来的一棵树插入变成树状数组插入 2.查询 原来的整体查询变成树状数组查询 修改就先-1再+1就行 可以开一个栈存每一组询问[ 阅读全文
摘要:
传送门 区间修改单点查询的主席树 改个差分就行了 首先强制在线的是查询 所以修改可以一次全读进来然后离散并且插进去 没有影响 这里的话先全修改完再查询 可以放弃树状数组直接维护差分 然后主席树维护区间数字个数和整体和 最后分到叶子节点的时候注意去对应个数个数字加进去就行 然后有个操作就是一次把所有这 阅读全文
摘要:
传送门 给一个数列,每次询问一个区间内有没有一个数出现次数超过一半 区间的一半就是(r-l+1)/2 对于主席树中的两棵树L,R中的同一个节点[l,r] 如果sum的差值大于k 说明在原序列下标L`R的区间中出现了多于k个权值处于[l,r]的数字 所以按照这个套路二分就行 然后这题bzoj有双倍经验 阅读全文
摘要:
传送门 看错题...以为只有宠物可以等主人... 所以还是要注意细节 剩下的就没啥 写个treap维护前驱后继和是宠物/主人就行 注意取模..... Code: 阅读全文
摘要:
传送门 真是比出纳员还郁闷... splay有点无法理解 可能是被机房dalao影响心态了吧 嘤嘤嘤还是Treap好写 这题主要难度在于批量删除并统计答案 发现其实删除子树还是很方便的 统计答案我就删一个ans++ 其实可以统计插入了几个和最后剩几个这样应该能方便点 Code: 阅读全文