随笔分类 - 数据结构
摘要:肯定先无脑树链剖分,然后线段树维护一段区间不同个数,再维护一个左右端点的费用。 线段树更新,pushDown,pushUp的时候要注意考虑链接位置的费用是否相同 还有就是树链剖分操作的时候,维护上一个更新的位置的费用。 总之就是出现区间合并,就考虑总数是否要减一 好想不好写 //场上根本写不完啊
阅读全文
摘要:计数排序的原理,只要知道了有几个数比i小,就可以知道i的位置 这道题只有26个字母,搞26颗线段树,然后区间更新
阅读全文
摘要:CDQ学习资料 day1cdq分治相关 CDQ的IOI论文 1.优化斜率dp 左边对右边影响维护一个凸包解决 需要知识:①凸包②斜率dp 题目:√ HDU3842 Machine Works HYSBZ 1492 货币兑换Cash 2.三维/多维偏序 cdq降维,剩下用数据结构维护。 需要知识:①L
阅读全文
摘要:只想到了朴素的n^2做法,然后发现可以用splay维护。于是调了几个小时的splay。。。 splay的元素是从第二个开始的!第一个是之前插入的头节点!
阅读全文
摘要:这道题可以树链剖分做。但是最近在给学弟搞数据结构复习了LCA树状数组RMQ 然后就搞了一发LCA+树状数组维护。 dis数组维护当前点到根节点的权值和。则dis(u,v) = dis[u]+dis[v]-2*dis[lca(u,v)] 修改的时候,单点修改影响了该点所有儿子的dis,刚好可以用dfs
阅读全文
摘要:用每个点代表父节点到此点的边。建立一一映射后就可以用点权的方法处理了。 注意的是路径两端节点的处理
阅读全文
摘要:很模板的树链剖分题 注意什么时候用线段树上的标号,什么时候用点的标号。
阅读全文
摘要:树链剖分,点权,单点更改,路径查询。学树链剖分下面这个博文不错 http://blog.csdn.net/y990041769/article/details/40348013 线段树必须写的很熟练才行。注意负数
阅读全文
摘要:很完整的splay操作。做了这题就可以当板子用了。
阅读全文
摘要:比较模板的splay题 cut操作和reverse操作。
阅读全文
摘要:1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 #define Key_value (ch[ch[root][1] ][0]) 8 9 const int maxn = 2e5+10; 10 const int INF = 0x3f3f3f3f; 11 12 i...
阅读全文
摘要:板子题,正在努力看懂板子。。 http://blog.csdn.net/acm_cxlove/article/details/7815019 http://www.cnblogs.com/kuangbin/archive/2013/04/21/3034081.html
阅读全文
摘要:模板题,以后要学splay,大概看一下treap就好了。
阅读全文
摘要:计算一个树的子树节点权值和,节点权值可以单个修改。 利用dfs序把一颗树投影到数组里,维护dfs序和子节点个数,然后用树状数组即可。
阅读全文
摘要:把星星按照x坐标排序,然后依次插入,查询,这题跟japan一个套路。
阅读全文

浙公网安备 33010602011771号