随笔分类 - 板子
摘要:珂朵莉树,说白了是高级的暴力。 它维护的是区间,底层是平衡树。 就是让平衡树去维护区间,同时维护我们所需要的变量。 当需要进行区间修改时,我们将若干个区间取出,将[l,r]之内及边界处的区间删除. 在边界处的区间需要用一个操作:split去将一个大区间分裂,然后造出来两个小区间,接着方便操作。 然后
阅读全文
摘要:这个还是基于Kruskal最小生成树算法. 我们正常跑最小生成树,把两个点放到并查集中. 但是这个里面我们把边换成一个点权等于边权的点,然后让他与两个点链接起来. 最后就形成了Kruskal 重构树. 写这个是因为考场上的这个题,链接 考场上思路只到最小生成树,然后想不下去了,感觉与并查集维护没差别
阅读全文
摘要:心情不好所以没改题,滚回去打点分治了 说下点分治的思路,首先要求找到树的重心,然后根据树的重心作为根,把树翻过来. 接着再在其子树中各个重复该过程,然后就能保证深度在log级别. 这个时候统计就能保证时间复杂度在深度上是正确的允许我们乱搞. 然后是基础例题. 正解放下面,就是点分治之后暴力. 这里有
阅读全文
摘要:树状数组 定义与引入: 树状数组处理的大多数问题,线段树都可以处理,但线段树可处理的问题,树状数组不一定可以. 解决问题类型: 单点修改,区间/单点查询; 好像没有太多可说的. 典型例题: HH的项链 数星星 模板: #include<bits/stdc++.h> using namespace s
阅读全文