06 2024 档案
摘要:引入 在点分治的过程中,它的遍历顺序会遍历每棵子树的重心,而这棵由重心生成的树会产生一棵新的树,便是点分树。 常用来解决树上与树的形态无关的路径问题。 过程 如下图,它的点分树是它自己。 因此可以看出一棵树的点分树可能是它本身。 性质 因为点分树 \(\mathcal{O}(\log n)\) 因此
阅读全文
摘要:引入 Prüfer 序列可以用于求解序列与树的双射,常用于组合计数问题。 定义 Prüfer 序列指的是每次选取一个编号最小的叶子,删除它,然后在序列中记录它所链接的点,重复以上步骤直到只剩下两个节点。 过程 对树建立 Prüfer 序列 显然可以用堆实现一个朴素的 \(\mathcal{O}(n
阅读全文
摘要:引入 此算法可以解决图上生成树计数问题。 值得注意的是,矩阵树定理不能用于存在自环的图。 定义 设 \(G\) 是一个图。 记邻接矩阵 \(A(G)_{i,j} = \#e(i,j), \#e(i,j)\) 若 \(G\) 是无向图 记 \(D(G)\) 表示其度数矩阵,\(D(G)\) 满足 \(
阅读全文
摘要:引入 LGV 引理可以解决图上不相交路径计数问题。 注意,LGV 引理只适用于有向无环图。 定义 \(\omega(P)\) 表示路径 \(P\) 的边权积。 记 \(e(u,v)\) 表示 \(u\) 到 \(v\) 的所有路径的边权积的和 \(e(u,v) = \sum\limits_{S:u
阅读全文