摘要: Tarjan 强连通分量 找到有向图强连通分量,也就是对于每个点找到和它构成环的所有点。 我们只要在 dfs 的过程中维护一个栈 \(s\),保存的是 \(x\) 的祖先节点 \(anc(x)\) 和那些已经访问过的存在一条路径到 \(anc(x)\) 的节点。这个第二类的点的由来就是假设目前在 \ 阅读全文
posted @ 2024-11-23 15:11 Mirasycle 阅读(108) 评论(1) 推荐(0)
摘要: Prufer 序列 基础知识 一个 \(n\) 个节点的唯一对应着一串长为 \(n-2\) 的序列,因此一个 \(n\) 阶完全图的有标号生成树个数为 \(n^{n-2}\)。 无根树转 prufer: 不断将无根树中编号最小的叶子节点删除,并将与之相连的节点放入序列中,直到只剩 \(2\) 个节点 阅读全文
posted @ 2024-11-23 12:36 Mirasycle 阅读(51) 评论(1) 推荐(1)
摘要: 点分治 应用: 树上所有路径统计 树上每个节点做根,信息统计。 注意:需要在求出重心后重新统计子树大小,别写假了。 还有就是一般点分治用于子树内 \(O(size)\) 信息的合并,如果子树内只贡献 \(O(1)\) 个信息,那么可以直接将信息放到状态中作树形 dp。参考 P2634 [国家集训队] 阅读全文
posted @ 2024-11-23 12:35 Mirasycle 阅读(36) 评论(0) 推荐(1)