线段树分治学习笔记
一个比较巧妙的算法
这个东西可以处理。1、一些操作只在某一特定时间段生效 2、查询某一时间点上所有操作的结果。我们可以对时间建立一棵线段树,把操作挂在线段树对应节点上,询问挂在叶子节点上,然后从根节点开始从左到右遍历线段树。每次进入一个新节点就完成当前节点处挂的操作,从某一结点回溯时把它上面挂的操作撤销,到叶子节点查询即可。所以线段树分治总是与支持添加、撤销的数据结构结合。一般就是各种可持久化撤销数据结构和并查集
P5787
我们使用并查集来判断是不是一张二分图,也就是我们使用拓展域并查集,如果两个点之间有一条边,那么u和v就在两边,那么u和v+n就在一个连通块里,u+n和v就在一个连通块里。然后直接搞即可。(并查集写错了,尽情嘲笑)
[P3733]在线性基那个学习笔记里面
[P4585]忘记掉放这里了
[P4219] 见LCT