上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页
摘要: POJ2942:利用Tarjan求无向图的点双连通分支 首先科普一下点双连通分支的求法: 貌似看起来繁琐而复杂。。 然而复杂的确实这道例题,暂时没有找到特别裸的。。 题干大意是这样的,开会,然后给出了一张图,边所连接的两个点互相憎恶,开会的时候只能奇数个人一起圆桌开,问T几个人会世界和平 做法的话, 阅读全文
posted @ 2018-08-06 21:28 静听风吟。 阅读(640) 评论(0) 推荐(0) 编辑
摘要: POJ3177:利用Tarjan求无向图的边双连通分支 连通图去掉所有的桥(割边)之后,剩下的就是一块儿一块儿的边双连通分支了 那么这道题的描述是给定无向图G,问至少加入多少条边才能让原图成为一个双连通图 这个题的做法是利用Tarjan求出图中的所有桥,以桥为界限分出来的就是一个一个边的双连通分量 阅读全文
posted @ 2018-08-06 16:48 静听风吟。 阅读(1076) 评论(0) 推荐(0) 编辑
摘要: POJ2186:利用Tarjan强连通分量求缩点重构图 缩点就是在求出图的所有的强连通分量之后 把强连通分量都看成一个点 这样形成的一个新的图叫做缩点重构图 下面描述一下POJ2186的题意: 给出n个点和m条边(点与点之间的关系),关系具有传递性,问最后有多少点满足其他所有点都能够通达到此 首先我 阅读全文
posted @ 2018-08-06 11:01 静听风吟。 阅读(645) 评论(0) 推荐(0) 编辑
摘要: Luogu2863:利用Tarjan求有向图的强连通分量 强连通分量这这样的一个子图: 图中的任意两点都可以相互通达,它是有向图 这里的例题题意是这样的,统计所有强连通分量中,至少包含两个点的强连通分量的数量 这里面把强连通分量的点放在st栈里,用vis进行存在性标记 col的意思是下标属于哪一个强 阅读全文
posted @ 2018-08-06 10:14 静听风吟。 阅读(161) 评论(0) 推荐(0) 编辑
摘要: UVA796:利用Tarjan求无向图的割边(桥) Tarjan求割边和求割点的差异不大 这里有的变量在上一篇博文中已经介绍过了 我们看到mp映射是用来替代二维数组进行判重的 本来打算换成hash_map但是发现并不好用,这是个必须要补的坑 这里的判重是判断是否有重边,由于权重都是1所以并不需要进行 阅读全文
posted @ 2018-08-06 09:47 静听风吟。 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 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) 编辑
摘要: HDU4010 类比静态区间问题->动态区间问题的拓展 我们这里把区间变成树,树上的写改删查问题,最最最常用LCT解决 LCT用来维护动态的森林,对于森林中的每一棵树,用Splay维护。 LCT是把这些Splay关联在一起的数据结构 我们以HDU4010为例子 这里把树存成了图,邻接表表示,对于森林 阅读全文
posted @ 2018-08-04 15:15 静听风吟。 阅读(355) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页