一般都是重链剖分的多,重链剖分在维护路径信息时比较优秀。 也可以使用长链剖分,使用深度最大的儿子作为“重儿子”即可,看了一下用于某种与深度有关的启发式合并比重链剖分好,等以后再研究吧。 ...
分类:
其他好文 时间:
2020-01-24 09:25:52
阅读次数:
66
「SDOI2013」森林 "传送门" 树上主席树 + 启发式合并 锻炼码力,没什么好说的。 细节见代码。 参考代码: ...
分类:
其他好文 时间:
2020-01-24 00:12:58
阅读次数:
58
某$OI$选手写的,其中一些观点看法让我受益颇深 启发式合并 #先来分类一般来说,$OI$中的名词大概分成这几大类.思想 : 模拟,贪心,动态规划,模型转换策略 : 固定策略,随机化策略,启发式策略算法 : … 显然在合并时使用启发式策略的算法,被称之为启发式合并. #定义形如在两个对象合并时,参考 ...
分类:
其他好文 时间:
2020-01-18 16:48:09
阅读次数:
106
题目 一棵树有$n$个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和 分析1 线段树合并,记录$w,sum$分别表示编号和以及颜色和,当颜色和相同时两个编号都要加,否则只加大的那一个,时间复杂度$O(nlog_2n)$ 代码1 ...
分类:
其他好文 时间:
2020-01-15 22:46:55
阅读次数:
75
/* 思路:借鉴 dsu on tree,自底往上进行合并 给每个叶子结点赋初始值为1,每个结点依次合并每个儿子 为了防止冲突,子树在被并入当前结点时,所有结点都要重新编号 最后把当前结点插到子树里去,由于又插进了一个结点,所以再重新编号一次 每个最多被重新编号n次,复杂度O(n^2) */ #in ...
分类:
其他好文 时间:
2020-01-07 00:45:35
阅读次数:
116
题目描述 小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值。初始的时候,森林中有M条边。 小Z希望执行T个操作,操作有两类: Q x y k查询点x到点y路径上所有的权值中,第k小的权值是多少。此操作保证点x和点y连通,同时这两个节点的路径上至少有k个点。 L x y在点x和点y之间 ...
分类:
其他好文 时间:
2019-12-28 11:32:58
阅读次数:
95
然而好像没有平衡树 还是题解包: T1:森林 树上主席树+启发式合并。 然而好像知道标签就没啥了。在启发式合并时可以顺手求lca 然而这题好像可以时间换空间(回收空间) T2:影魔 难点在于考虑贡献的来源 考虑一个区间两端点和区间最值(不含端点)的关系 小,中,大:贡献p1 大,小,大:贡献p2 大 ...
分类:
其他好文 时间:
2019-12-19 09:48:03
阅读次数:
83
森林 看到链上k大,还强制在线,不难想到主席树,发现这道题只有加边操作,而且数据范围特别小,可以考虑启发式合并,每次加边,暴力$dfs$一遍较小的子树即可。 $O(n*log^{2}n)$ 影魔 由于很久之前看过这个题,一直以为不是很可做,然而发现一众大佬全都切掉了,于是好好想了想,发现不是很难。 ...
分类:
其他好文 时间:
2019-12-16 22:31:13
阅读次数:
101
"传送门" 题意: 给出一个以$1$为根的有根树。之后有$m$个询问,每个询问为$v_i,h_i$,需要回答以$v_i$为根的子树中,深度为$h_i$的那些结点所代表的字符能否构成回文串。 思路: 静态子树询问,考虑$dsu\ on\ tree$。 深度可以提前处理出来。对一个子树处理时,用一个数组 ...
分类:
其他好文 时间:
2019-11-14 22:21:08
阅读次数:
94
"传送门" 题意: 求子树众数。 思路: $dsu\ on\ tree$模板题,用一个桶记录即可。 感觉$dsu\ on\ tree$这个算法的涉及真是巧妙呀,保留重链的信息,不断暴力轻边,并且不断在子树内递归下去。又由于轻边数量不会超过$O(logn)$,所以总的时间复杂度控制在$O(nlogn) ...
分类:
其他好文 时间:
2019-11-14 22:16:52
阅读次数:
67