随笔分类 - 其它——启发式合并
摘要:给定两棵个点的树,分别是由条蓝边和条红边组成的树。求次操作后,能否把蓝树变成红树。
每次操作是,选择当前树上一条只由蓝边组成的简单路径,删掉路径上的任意一条蓝边,然后在路径上任选两个点,在这两个点之间加一条红边。
。
阅读全文
摘要:BZOJ 3673 BZOJ 3674(加强版) dbzoj 3673 如果每次操作最多只修改一个点的fa[],那么我们可以借助可持久化线段树来O(logn)做到。如果不考虑找fa[]的过程,时空复杂度都是O(logn)。 想要这样就不能加路径压缩,否则要对路径上的点都要改,最好时空复杂度是O(lo
阅读全文
摘要:摘要
阅读全文
摘要:题目链接 BZOJ 洛谷 详见这. 求所有点到某个点距离和最短,即求树的重心。考虑如何动态维护。 两棵子树合并后的重心一定在两棵树的重心之间那条链上,所以在合并的时候用启发式合并,每合并一个点检查大的那棵子树的重心(记为)最大子树的是否; 若,则向$f
阅读全文
摘要:[TOC] 2018.3.22 Test 时间: 7:30~11:40 得分: 80+65+20=165 总结 时间分配。。 2个月前写的都忘的差不多了。。 注意: T2合并一棵子树,这棵子树某些点的dep[x]可能会变小,于是fa[x][..]应变为0,但如果在循环里写 `&&(1 特判输出2也要
阅读全文
摘要:"题目链接" 给定张无向图,每张图都有个点。一开始,在任何一张图中都没有任何边。 接下来有次操作,每次操作会给出,意为在第张图中的点和点之间添加一条无向边。 你需要在每次操作之后输出有序数对的个数,满足$1\
阅读全文
摘要:"题目链接" 查找排名为k的数用平衡树 合并时用启发式合并,把size小的树上的所有节点插入到size大的树中,每个节点最多需要O(logn)时间 并查集维护连通关系即可 O(nlogn insert time) 据(主席)说按顺序插入能做到均摊O(1),中序遍历即可有序插入 1.并查集与平衡树是独
阅读全文