摘要: Luogu3388:利用Tarjan求无向图的割点 割点就是维护双连通分量的一个点,如果删去的话,原本的双连通分量就会被拆成若干个连通分量 利用Tarjan算法可以求出无向图的所有割点 下面介绍一下: 邻接表建图,开二倍边长(无向图) deep用来跟踪记录每一个点的深度,或者说,它在dfs中是第几个 阅读全文
posted @ 2018-08-05 22:20 静听风吟。 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 运用矩阵树定理进行生成树计数 给定一个n个点m条边的无向图,问生成树有多少种可能 直接套用矩阵树定理计算即可 矩阵树定理的描述如下: 首先读入无向图的邻接矩阵,u-v G[u][v]++ G[v][u]++ 度数矩阵: u-v D[u][u]++ D[v][v]++; 然后计算图G的基尔霍夫矩阵 C 阅读全文
posted @ 2018-08-05 16:14 静听风吟。 阅读(294) 评论(0) 推荐(0) 编辑
摘要: BZOJ1430:运用Cayley定理解决树的形态统计问题 由Prufer编码可以引申出来一个定理:Cayley 内容是不同的n结点标号的树的数量为n^(n-2) 换一种说法就是一棵无根树,当知道结点总数的时候,其最多可能有n^(n-2)种形态 这只是形态而已 对于BZOJ1430这道题 题目的打架 阅读全文
posted @ 2018-08-05 15:26 静听风吟。 阅读(156) 评论(0) 推荐(0) 编辑
摘要: BZOJ1211:使用prufer编码解决限定结点度数的树的计数问题 首先学习一下prufer编码是干什么用的 prufer编码可以与无根树形成一一对应的关系 一种无根树就对应了一种prufer编码 先介绍编码过程: 选择无根树中度数为1的最小编号节点(也就是编号最小的叶子节点),将其删除,把它的邻 阅读全文
posted @ 2018-08-05 11:46 静听风吟。 阅读(540) 评论(0) 推荐(0) 编辑