码迷,mamicode.com
首页 >  
搜索关键字:缩点    ( 1140个结果
连通分量模板:tarjan: 求割点 && 桥 && 缩点 && 强连通分量 && 双连通分量 && LCA(最近公共祖先)
1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。 2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。 3.点连通度:最小割点集合中的顶点数。 4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。 5.割边集合:如果有一个边集合,删除这个边集合以后,...
分类:其他好文   时间:2014-08-26 21:30:06    阅读次数:612
HDU 2767 Proving Equivalences(强连通分量)
题目地址:HDU 2767 这题的意思是求再加多少边可以使得图为强连通图。 方法是先缩点,缩点很简单,只要加个数组,在找到一个强连通分量的时候让那些点都标记为该强连通分量的标号即可。 然后再遍历一遍所有边,如果该边的起点和终点不在同一个强连通分量里边,那这两个点的入度和出度就可以算作是该强连通分量的入度和出度的一部分,累加上去。最后分别统计入度和出度为0的强连通分量个数,取最大值就是答案。道...
分类:其他好文   时间:2014-08-25 19:27:04    阅读次数:195
POJ 3114 Countries in War(强联通分量+Tarjan)
题目链接题意 : 给你两个城市让你求最短距离,如果两个城市位于同一强连通分量中那距离为0.思路 :强连通分量缩点之后,求最短路。以前写过,总感觉记忆不深,这次自己敲完再写了一遍。 1 #include 2 #include 3 #include 4 #include 5 #incl...
分类:移动开发   时间:2014-08-24 22:05:23    阅读次数:301
hdu--3836--tarjan+缩点
缩点 很简单的啊... 就是将原来一个连通块变成一个点..可能你原本是这样的 A->B->C->A 缩点完成后 我们就把{A,B,C}用数字1来表示 如果还有D->E->D 那我们再讲{D,E}用2表示....最后的sum就是代表连通块总的个数然后 一般 缩点完成后 我们现在得到了n个连通块 我们要...
分类:其他好文   时间:2014-08-23 21:36:31    阅读次数:244
HDU 1045 Fire Net 二分图Bipartite题解
本题可以使用DFS直接爆搜出答案,不过这样类型的题目其实是个二分图的题解。 这个二分图,难不在Hungary算法,而是难在于建图。需要挺高的抽象思维的。 建图: 1 把同一行不被X分开的格子标同一个号码,被X分开的标下一个号码,这样做是为了缩点,不需要把所有的格子都分开标号,而且可以更方便建个更加小的图。 2 同理把同一列的格子标号 3 然后判断相同一个格子的行标号和列标号是有路径的,其...
分类:Web程序   时间:2014-08-22 23:53:19    阅读次数:549
poj3352Road Construction 边双连通+伪缩点
统计出树中度为1的节点的个数,即为叶节点的个数,记为leaf。则至少在树上添加(leaf+1)/2条边, 就能使树达到边二连通,所以至少添加的边数就是(leaf+1)/2。...
分类:其他好文   时间:2014-08-22 00:26:45    阅读次数:179
HDU 4971 A simple brute force problem. 强连通缩点+最大权闭合图
题意: 给定n个项目,m个技术难题 下面一行n个数字表示每个项目的收益 下面一行m个数字表示攻克每个技术难题的花费 下面n行第i行表示 第一个数字u表示完成 i 项目需要解决几个技术难题,后面u个数字表示需要解决的问题标号。 下面m*m的矩阵 (i,j) = 1 表示要解决j问题必须先解决i问题。 (若几个问题成环,则需要一起解决) 问:最大收益。 思路: 先给问题缩点一下,...
分类:其他好文   时间:2014-08-21 19:27:54    阅读次数:184
POJ 3177 Redundant Paths(Tarjan)
题目链接题意 : 一个无向连通图,最少添加几条边使其成为一个边连通分量 。思路 :先用Tarjan缩点,缩点之后的图一定是一棵树,边连通度为1。然后找到所有叶子节点,即度数为1的节点的个数leaf,最后要添加的边的条数就是(leaf+1)/2 ; 1 // 3177 2 #include 3 #i....
分类:其他好文   时间:2014-08-20 20:58:02    阅读次数:279
hdu 2242 无向图/求用桥一分为二后使俩个bcc点权值和之差最小并输出 /缩点+2次新图dfs
题意如标题所述,      先无向图缩点,统计出每个bcc权,建新图,然后一遍dfs生成树,标记出每个点(新图)以及其子孙的权值之和。这样之后就可以dfs2来枚举边(原图的桥),更新最小即可。      调试了半天!原来是建老图时候链式前向星和新图的vector>俩种存图搞乱了!!!不可原谅!哎!愚蠢!愚不可及!提交后1A。      后来百度之后,发现说是用树形dp,看了代码解法,竟然和我...
分类:其他好文   时间:2014-08-19 20:56:05    阅读次数:248
poj 2553强连通+缩点
/*先吐槽下,刚开始没看懂题,以为只能是一个连通图0T0 题意:给你一个有向图,求G图中从v可达的所有点w,也都可以达到v,这样的v称为sink.求这样的v. 解;求强连通+缩点。求所有出度为0的点即为要求的点。 注意:可能有多个联通分支。 */ #include #include #include #define N 5100 struct node { int u,v,w,next;...
分类:其他好文   时间:2014-08-18 18:36:42    阅读次数:225
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!