摘要: CF915E 动态开线段树 "题面" 因为$n\le10^9$,所以动态开点,线段树维护$[1,n]$天非工作日数量。 之前的结构体写法被卡了,只能改成函数传 (虽然也不难) 动态开点好写,但是~~太菜了~~线段树部分写炸了,对 标记理解不深,下放标记时注意不要把本来子区间的信息覆盖了, 下放完标记 阅读全文
posted @ 2019-07-24 22:40 Santiego 阅读(273) 评论(0) 推荐(0) 编辑
摘要: UVA1674 闪电的能量 树剖 "题面" 水。树剖模板 cpp include include include define MAXN 50005 define sl (x 1; buildt(sl, l, mid); buildt(sr, mid+1, r); } void push_down( 阅读全文
posted @ 2019-07-24 17:59 Santiego 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 树链剖分总结 原理 将树边归到至多$logn$条连续树边构成的重边中,再在各条重边上建线段树,每次操作先遍历所有经过的重边再依次线段树上操作,复杂度${logn}^2$ 树剖代码量并不大,只是其包含了线段树;树剖本身并不难,只是看你怎么维护线段树 实现 初始化 两次$dfs$求得所需信息 第一次求得 阅读全文
posted @ 2019-07-24 15:57 Santiego 阅读(251) 评论(0) 推荐(0) 编辑
摘要: rt,一个~~憨批~~错误 我,作为一个宏使用狂热爱好者, 函数当然用宏定义 于是,我在 "这道树剖题" 中大量使用了此宏,比如下面: cpp if(l 阅读全文
posted @ 2019-07-24 15:26 Santiego 阅读(220) 评论(0) 推荐(0) 编辑