摘要:
首先,我们需要读懂这个图是什么图。 第一,忽略外面的环,由“任意两点可到达且路径唯一”的条件可知这是一棵树。 第二,因为每个点的度数是三,所以如果只考虑中间的树,除了 $k$ 以内的点都是叶子,其他的点度数都是三。 考虑什么样的树有很多点度数是三:完全二叉树。但是这个和完全二叉树还有个不同,就是完全 阅读全文
摘要:
本质不同的算法主要有两种:对子图大小根号分治和类启发式均摊。此外还有很多实现上的差别。 #### 对子图大小根号分治 在线做法: 我们发现,把每个颜色的边和它们的顶点取出为一个子图,所有子图大小的和是 $O(n)$ 级别的。那么我们就可以根号分治。 首先,要预处理每个颜色子图下的连通块。可以用并查集 阅读全文
摘要:
Z 函数是的意义是对于字符串的后缀 $i$,其最长的前缀使得存在原串的一个前缀和它相同。 我个人认为 Z 函数是简单于 KMP 的,因为 KMP 的思想是利用前面的答案递归调用计算新的位置,而 Z 函数是简单的递推,只需要一个原先计算的结果就能得出答案,不需要递归。 Z 函数的核心思想是匹配段思想, 阅读全文