10 2021 档案
摘要:之前没有写过可撤销并查集,这里整理一下. 普通并查集是不支持撤销/断边操作的. 但是如果加边顺序是 , 断边顺序是 的话是可以维护的. 我们只需要用一个启发式合并的并查集加上栈来存储合并信息即可. 这样做可行,是因为始终是向上合并,并且删除时是从
阅读全文
摘要:CDQ 分治 在二维偏序问题中,可以利用排序干掉一维,并用树状数组维护另一维. 在三维偏序中,就需要利用 cdq 分治,干掉一维,并用树状数组+排序维护剩下两维. 例题 1. 树状数组模板题 本来,这道题应该用树状数组来完成,不过可以利用本题练习 分治. 操作序列的顺序
阅读全文
摘要:Least Cost Bracket Sequence 来源:CF3D 比较巧妙的堆+贪心题. 考虑括号序列的合法条件:任意前缀和不小于 0 且最终和为 0. 不妨先在每个括号位置强制选择 , 然后如果合法就继续,不合法就从前面选右括号的位置改变决策. 改变主意的选择用优先队列去维护那个差值,
阅读全文
摘要:解决例如 或 其中一个需要成立的问题. 处理这种问题的时候对于每个点建立真和假. 然后就连一下边就行,特别注意这个边是有对称性的. 所以如果每次只连了一种边就要注意是否没考虑周全. 在输出答案的时候显然可以用是否在一个联通分量内来判合法性. 然后如
阅读全文