码迷,mamicode.com
首页 >  
搜索关键字:双连通分量    ( 279个结果
2012-2013 ACM-ICPC, NEERC, Central Subregional Contest J Computer Network1
题意:求一条边使得加入这条边以后的消除的桥尽量多。在同一个边双连通分量内加边肯定不会消除桥的,求边双连通分量以后缩点,把桥当成边,实际上是要选一条最长的链。缩点以后会形成一颗树,一定不存在环否则和桥的定义矛盾,求树上的最远点对。树上的最远点对用dpT了,实际上两次dfs就行了,第一次随便选一个点df...
分类:Web程序   时间:2015-09-03 19:13:54    阅读次数:207
POJ 3694 Network
边双连通分量+并查集这题算是水过去的吧,4500ms。应该有更好的写法#include#include#include#include#includeusing namespace std;const int maxn = 100000 + 10; //结点数量const int Maxn = 2 ...
分类:Web程序   时间:2015-09-01 12:25:55    阅读次数:183
Gym 100342I Travel Agency
题意读懂了就好做了,就是求一下点双连通分量。维护一下一颗子树的结点数,对于一个结点当u是割点的时候,统计一下u分割的连通分量v,每得到一个连通分量的结点数cnt(v)和之前连通分量结点数sum相乘一下就好。最后加一下和u的子树上的连通分量总数和其它的结点的乘积。B,C中其中一者可以是A,所有最后还要...
分类:其他好文   时间:2015-08-30 15:47:00    阅读次数:104
POJ 3177 Redundant Paths
边双连通分量+缩点#include#include#include#include#includeusing namespace std;const int maxn = 10000 + 10; const int Maxn = 2 * 100000 + 10; int low[maxn];int ...
分类:其他好文   时间:2015-08-28 22:55:30    阅读次数:249
HDU 4612 Warm up
给出一个无向图,你可以加一条边,使得加上边之后的图割边数量最少。方法:每个边双连通分量缩点,形成一个树,树上的每条边都是割边,割边数量为S1;接下来只要算出树上最长路径(树的直径)就可以了,最长路径两段连线,路径上的割边都不可能再成为割边了,记最长路径长度为S2;Ans=S1-S2;第一步可以用Ta...
分类:其他好文   时间:2015-08-27 22:41:42    阅读次数:130
POJ2942 Knights of the Round Table 点双连通分量,逆图,奇圈
题目链接: poj2942 题意: 有n个人,可以开多场圆桌会议 这n个人中,有m对人有仇视的关系,相互仇视的两人坐在相邻的位置 且每场圆桌会议的人数只能为奇书 问有多少人不能参加 解题思路: 首先构图,将所有的仇视关系视为一条边,最后再取已经得到的图的逆图, 这样图上连接的边就代表可以相邻而坐的关系 然后就是找奇圈了,首先就是要...
分类:其他好文   时间:2015-08-19 16:49:04    阅读次数:109
POJ_2942_Knights of the Round Table(点的双连通分量+二分图判定)
Knights of the Round Table Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 10908   Accepted: 3585 Description Being a knight is a very attractive career: searc...
分类:其他好文   时间:2015-08-12 01:27:55    阅读次数:154
POJ 3352 Road Construction
题意就是至少加几条边,能够让原图没有桥。1. 首先要找出图G的所有【边双连通分量】。2、 把每一个【边双连通分量】都看做一个点(即【缩点】)3、 问题再次被转化为“至少在缩点树上增加多少条树边,使得这棵树变为一个双连通图”。首先知道一条等式:若要使得任意一棵树,在增加若干条边后,变成一个双连通图,那...
分类:其他好文   时间:2015-08-11 23:04:26    阅读次数:76
HDU 2242 双连通分量 考研路茫茫——空调教室
思路就是求边双连通分量,然后缩点,再用树形DP搞一下。代码和求强连通很类似,有点神奇,=_=,慢慢消化吧 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 c...
分类:其他好文   时间:2015-08-11 18:23:49    阅读次数:191
HDU 4612 Warm up(手动扩栈,求树上哪两个点的距离最远)
题目大意:给你一个无向图,问加一条边之后最少还剩下几座桥。(注意重边处理)分析:其实当我们把边双连通分量给求出来之后我们就能将连通块求出来,这样我们就可以重新构图。重新构造出来的图肯定是一颗树了,那么问题就转化为求树的哪两个节点的距离最长。我们可以随便找一个点S开始BFS, BFS到这个点最远的那个...
分类:其他好文   时间:2015-08-10 19:25:41    阅读次数:133
279条   上一页 1 ... 17 18 19 20 21 ... 28 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!