随笔分类 - 高级数据结构——树套树
摘要:"题目链接 BZOJ" "洛谷" 区间第k小,我们可以想到主席树。然而这是静态的,怎么支持修改? 静态的主席树是利用前缀和+差分来求解的,那么对于每个位置上的每棵树看做一个点,拿树状数组更新。 还是树状数组的过程,区间加时,每到一个位置在这棵主席树中插入这个数。 查询时,将所有询问要访问到的主席树存
阅读全文
摘要:"题目链接" 下落一个d s的方块,则要在这个平面区域找一个最高的h' 更新整个平面区域的值为h+h' 对于本题,维护最大高度h和all 对于平面的x轴维护一棵线段树t1,每个t1的节点维护对应y轴的两棵线段树t2(h和all) (同一维,需要维护独立的两棵线段树) t1要用标记永久化实现,t2普通
阅读全文
摘要:题目链接: "BZOJ" "洛谷" DP很好写,对于当前的i从之前满足条件的j中选一个最大值, cpp for(int j=1; j include include define gc() getchar() define now node[rt] def
阅读全文
摘要:"题目链接" or "Here" 题意:n个数,有两个操作:1.修改某个数为v;2.询问一段区间第k小的数 如果没有修改,则可以用线段树,每个节点P[a,b]存储大小为b a+1的数组,代表其中的数 同时,这个数组还是要排好序的 直接找答案很不方便,于是考虑对数组二分答案,求比它小的数的个数 关于构
阅读全文