------图论------
Lonvon_
这个作者很懒,什么都没留下…
展开
-
POJ 3237 树链剖分+线段树维护
和QTREE1类似,增加了NEGATE操作。 记几个踩到的坑: 1. 维护数据量为n(假设n为2的幂)的线段树的大小为2*n-1,此题线段树的数组大小应为2^15-1,在写的时候写成1<<15-1,C++的<<的优先级小于-,实际开出来是2^14。 2. 这样写之后没有数组越界的异常,而是不断的WA。全局变量的内存分配在堆区,虽然访问的范围超过了数组的大小,但是在...原创 2018-02-28 17:21:18 · 270 阅读 · 0 评论 -
Link Cut Tree
LCT用来维护有根树的森林。对任意结点v,Preferred Child(PC)的定义为:如果v没被访问过或者刚刚访问到v,则PC[v] = null;如果刚刚访问到v的孩子结点u所在的子树,则PC[v] = u。v到其preferred child(如果有)的边为preferred edge,preferred edge连接起来形成preferred path。需要表示的树(也就是直观上的树)称...原创 2018-02-25 21:21:00 · 630 阅读 · 0 评论