———连通性|2-SAT
MissZhou要努力
不晓日月,不辩兰艾,终日碌碌,安与燕雀相随乎
展开
-
HDU 3836 - Equivalent Sets【强连通分量 基础题】
DescriptionTo prove two sets A and B are equivalent, we can first prove A is a subset of B, and then prove B is a subset of A, so finally we got that these two sets are equivalent.You are to p原创 2016-03-12 14:52:34 · 626 阅读 · 0 评论 -
hdu2460Network【双连通分量求桥 在线求lca】
SubmitStatusDescriptionA network administrator manages a large network. The network consists of N computers and M links between pairs of computers. Any pair of computers are connected directly原创 2016-05-11 16:09:09 · 656 阅读 · 0 评论 -
hdu4587TWO NODES【割点】
题意:已知无向图选两个点点从原图中删掉,剩下的最大连通分量个数?做法:很容易想到应该从个点入手,然而就算枚举割点,要怎么算呢?(下午试试这种枚举所有割点的方法)本题的解法是第一个点枚举所有点,第二个点由dfs求出最大值。具体来说就是iscut原来表示是否是割点,现在让他作为“遍历时成为割点的次数”即为子树的个数。那么对于非根节点,删去后剩余个数为iscut[i] + 1(子树个数加上父节点),根节点为iscut[i] (没有父节点)那么全题答案便是 max(iscut[i] + 1) + l原创 2016-05-12 09:44:36 · 1076 阅读 · 0 评论 -
hdu4635Strongly connected 【求最多加多少边仍不是强连通分量】
题意:就是问加多少边依旧无环,无scc做法:开始依旧想到了hdu2767Proving Equivalences【STL版SCCTarjan+缩点】(有注释)这个题,自以为是的觉得在这个题的基础上-1就好了,然后一个是最多边数,一个是求最少边数,怎么可能一样==其实只不过多了一个完全图而已,对于一个有n个节点的完全图而言,他有n*n个边,对于这个图而言,最终的结果必然是只有两个集合(即缩点之后的团)团内是scc无环,彼此之间只有单向的通道,设两个团的节点个数分别为x,y则最终可加的边数是n*n-原创 2016-05-05 17:25:00 · 609 阅读 · 0 评论 -
CodeForces 22E Scheme【变成强联通图至少增加多少边并输出】
DescriptionTo learn as soon as possible the latest news about their favourite fundamentally new operating system, BolgenOS community from Nizhni Tagil decided to develop a scheme. According to thi原创 2016-05-06 17:10:48 · 1154 阅读 · 0 评论 -
poj 1144 Network【无向图求割顶模板题】
DescriptionA Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting several places numbered by integers from 1 toN. No two places have the same number. T原创 2016-05-08 17:22:29 · 975 阅读 · 0 评论 -
poj3177Redundant Paths【构造双连通分量:并查集缩点 模板】
这个题就是问加几条边可以构成双连通分量,一开始图样图森破的以为只是求桥的个数就好,然而并非如此……构造双连通分量的加边数=(原图的叶节点数+1)/2 因为双连通分量需要成环嘛,原图已经是连着的了,所以只需要在另一侧再加一条边就成环啦~怎么判断哪里是叶结点呢?先用并查集缩点,把所有当前的双连通分量都缩到一起,然后就构成了只有桥的图,枚举每个桥,记录每个点的次数,每次加一。只有1的点就是原图原创 2015-11-20 10:12:27 · 1215 阅读 · 0 评论 -
codeforces22c System Administrator【给定一个割顶输出边 BCC】
DescriptionBob got a job as a system administrator in X corporation. His first task was to connectn servers with the help of m two-way direct connection so that it becomes possible to transmit原创 2016-05-08 18:32:08 · 918 阅读 · 0 评论 -
CodeForces 659E New Reform
DescriptionBerland has n cities connected by m bidirectional roads. No road connects a city to itself, and each pair of cities is connected by no more than one road. It isnot guaranteed that y原创 2016-06-07 18:14:29 · 428 阅读 · 0 评论 -
poj3683Priest John's Busiest Day【2-sat二选一输出】
DescriptionJohn is the only priest in his town. September 1st is the John's busiest day in a year because there is an old legend in the town that the couple who get married on that day will be f原创 2016-07-22 16:01:15 · 507 阅读 · 0 评论 -
hdu1814Peaceful Commission【2-SAT】输出最小解
居然1A了!!之前没调对居然只是多乘2了 (⊙﹏⊙)b 而且加边写反了==题解:每个党派需要在两个代表中选一个,这2*n个代表中有彼此讨厌的m对人,输出n个去开会的代表重点不在于怎么建边(建边这么so easy的事居然脑袋短路也是醉了==)在于怎么输出,网上的方法真的好麻烦,为什么非得染三个颜色的点啊我就不懂了,可能是模板的思路不好造成的吧刘汝佳的书上说这个模板的思路是:逐一考虑没原创 2016-01-15 15:49:04 · 1763 阅读 · 0 评论 -
poj3648Wedding【2-SAT】输出任意解
题意:一堆夫妇去参加一对新人的婚礼。人们坐在一个很长很长的桌子的两侧(面对面)。新郎新娘在桌子头面对面座。新娘不希望看见她对面的一排有一对夫妇坐着(夫妇需要分开两排座)。同时,一些人之间有通奸关系(通奸不分性别,而且新郎新娘也可能通奸!!!!),新娘也不希望有通奸关系的人同时坐在她对面的一排。问你可否满足新娘的要求,可以的话,输出一种方案做法:和hdu1814Peaceful原创 2016-07-27 11:24:52 · 539 阅读 · 1 评论 -
poj1236Network of Schools【scc求入度=0和出度=0】
题意:本题有2个问题 第一个是要算最少要给多少个点软件,才能使所有点都可以收到副本 第二个是要算最少加多少条边,使得图变成强连通做法:(n久不刷的强连通分量全都就饭吃了QAQ)第一问就是求有多少个团入度=0第二问是问max(入度=0的团数,出度=0的团数)注意原图是强连通图的时候要特判、原创 2016-10-09 19:18:45 · 345 阅读 · 0 评论 -
codeforces742CArpa's loud Owf and Mehrdad's evil plan 【强连通】
As you have noticed, there are lovely girls in Arpa’s land.People in Arpa's land are numbered from 1 to n. Everyone has exactly one crush, i-th person's crush is person with the numbercrushi.原创 2016-12-13 10:50:05 · 437 阅读 · 0 评论 -
cf402EStrictly Positive Matrix【tarjan前向星模板、矩阵】
这个题的套路绝对是图论的样纸!把图建好了只剩下套模板了==然而how to建图?考虑到矩阵乘法中有这样一个重要的步骤:c.m[i][j]=c.m[i][j]+a.m[i][k]*b.m[k][j] 则a[i][j]如果是正,说明从i点有正好走k步就可以到达j点的路即i、j连通我们依次建边所有点对(大于0的)剩下的跑一边tarjanjiu ok啦 啥是tarjan说到以原创 2015-11-09 15:32:48 · 986 阅读 · 0 评论 -
hdu4324 Triangle LOVE【tarjan强连通分量基础题】
输入输出没整明白也是醉了==还有 能不能细心点儿???这要是比赛因为内存开大了WA一次冤不冤??/**********hud4324**********/#include #include #include #include using namespace std;const int M=4e6+10,N=2e3+10;int head[N],ed;char str[2原创 2015-11-09 21:27:54 · 876 阅读 · 0 评论 -
poj3207Ikki's Story IV - Panda's Trick【2-SAT】
1A~这两天做题这么顺搞得我都不想去复习生态学了==感觉这个题要比前一个简单一点,建边的时候如果有交叉就必须是一真一假。就是判断相交有点麻烦,开始想写函数判断两个线相交来着,发现还是判断不相交省事一点==/***********poj32072016.1.121172K 110MS C++ 1960B***********/#include #include#include原创 2016-01-13 11:42:02 · 452 阅读 · 0 评论 -
poj3678Katu Puzzle【2-SAT】
自己改明白代码简直太开心啦~网上博客里的压根没搜到用刘汝佳的模板的AC代码,但是照着加边的思路,劳资写出来啦,哦哈哈哈言归正传,怎么加的边:AND12*i==>2*i+12*j==>2*j+102*i+1==>2*j2*j+1==>2*iOR12*i==>2*j+12*j==>2*i+102*i+1==>2*i2*原创 2016-01-13 09:53:16 · 414 阅读 · 0 评论 -
uva1391Astronauts【2-SAT】
又是刘汝佳书上的题,貌似书上只有这两个了,确实2-SAT的题也没有太多,看邝斌的分类也才九个,今天加明天上午再A两个就结束~做这个题的时候发现自己对于结点的表示还是不够理解,遂把四种情况都列出来xi为假 或xj为假2*i+1==>2*j2*j+1==>2*ixi为真或xj为真2*i==>2*j+12*j==>2*i+1xi为假或x原创 2016-01-12 20:52:23 · 550 阅读 · 0 评论 -
uva1146Now or later飞机调度【2-SAT】入门题
插头DP就暂时那么地儿吧,纠结学什么的结果是学这个2-SAT本来以为得多难,下了好大决心,结果只是照着刘汝佳的书就看懂代码和思想了~说这个题的思路:引用书上的话就是,最小值尽量大的典型做法就是二分查找,这样,原来的问题就转化成了判定问题:是否存在一个调度方案,使得相邻两个着陆时间总不小于P,进一步转化为:任意两个着陆时间差总不小于P。即唯一的限制就是:时间差小于P的两个两个着陆时间不能同时满足原创 2016-01-12 16:34:37 · 848 阅读 · 0 评论 -
poj1438One-way Traffic【双连通分量:混合图->有向图】
跟poj1515有点像 不过不是改动一点就能成的,这个题遇到单向边是不改动的,只是把以下几种情况中的边输出:1) 第一次深搜时把所有有向边都当成无向边,这时候求出的桥必须双向都输出(当然了,一种给的数据一定也是双向的)2)第二次深搜时输出这三种:1)之前没遍历过:发现是双向的边 而且是桥 ==>输出相反的顺序(因为双连通分量必须内部相互可达,所以一定没有桥,遇到桥了,说明走反了)原创 2015-11-23 11:18:59 · 791 阅读 · 0 评论 -
poj1515Street Directions【无向图->有向图 链式前向星版tarjan求桥】
纠结半天怎么用原来的模板表示边与序号的关系,map都用上了,还是一塌糊涂,然而,这是图啊……怎么能把链式前向星忘了→_→具体看注释 ,思路当然和那些都一样/***********poj15152015.11.20796K 157MS G++ 2230B***********/#include #include #include #include #include us原创 2015-11-20 13:32:03 · 882 阅读 · 0 评论 -
poj2942圆桌骑士【点双连通分量+二分图判断】
/***********poj29422015.11.11-2015.11.13不懂 暂时放下了2015.11.184792K 1172MS G++***********/#include #include#include#include#include#includeusing namespace std;#define maxn 1005struct Edge{原创 2015-11-18 09:49:26 · 1052 阅读 · 0 评论 -
hdu3394Railway【双连通分量+模板详细解释】
拖了好久的双联通分量==本来周三那会儿觉得强连通分量挺简单,兴致勃勃的开双连通→_→结果模板研究了两整天@。@说一下这个题的思路:这个题简直不科学,题意想让桥作为删的边!(读错了不能怨题)而在双连通图中是边数大于点数的,则所有边都是冲突边==/**********hdu33942015.11.14374MS 7448K 2262B**********/#include原创 2015-11-14 20:39:20 · 1677 阅读 · 0 评论 -
图的强连通分量,块,割点,桥
写在前面:整合和参考了网上的一些相关文章和刘汝付佳的《内功心法》里的部分内部。 因为在求强连通分量,块,割点,桥的时候,其基本过程是DFS,所以对DFS的一基本的知识作些介绍。 为了叙述方便,规定DFS过程将给结点着色:白色为没有考虑过的点,黑色为已经完全考虑过的点,灰色为发现过但没有处理过的点。灰色点组成了遍历边界。DFS遍历 DFS转载 2015-11-13 14:35:56 · 634 阅读 · 1 评论 -
hdu1827Summer Holiday【tarjan强连通分量解决最小联系费用】
1A~·~~~撒花!这比买买买开心多了^-^思路:既然是强连通分量的题,很容易想到形成的东西是一坨一坨的,哈哈,然后如果某一坨入度为0,那么很不幸,这一坨只能直接被威士忌通知,至于具体通知这一坨中的哪一个,枚举一遍就知道了,最后把话费求和~感觉强连通分量是图论当中学的最明白的了/************hdu18272015.11.11358MS 1896K 2169 B***原创 2015-11-11 08:35:06 · 967 阅读 · 0 评论 -
poj1904King's Quest【SCC tarjan解决配对问题】
DescriptionOnce upon a time there lived a king and he had N sons. And there were N beautiful girls in the kingdom and the king knew about each of his sons which of those girls he did like. The son原创 2015-11-10 21:14:05 · 1001 阅读 · 0 评论 -
poj2553The Bottom of a Graph【tarjan中SCC出度是1】
DescriptionWe will use the following (standard) definitions from graph theory. Let V be a nonempty and finite set, its elements being called vertices (or nodes). Let E be a subset of the Cartesian原创 2015-11-10 18:21:21 · 810 阅读 · 0 评论 -
hdu2767Proving Equivalences【STL版SCCTarjan+缩点】(有注释)
Proving EquivalencesTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4410 Accepted Submission(s): 1562Problem DescriptionConsider原创 2015-11-10 13:30:52 · 876 阅读 · 0 评论 -
hdu3849By Recognizing These Guys, We Find Social Networks Useful【map+双连通分量求桥+扩栈代码】
Problem DescriptionSocial Network is popular these days.The Network helps us know about those guys who we are following intensely and makes us keep up our pace with the trend of modern times.But h原创 2015-11-17 17:00:03 · 966 阅读 · 0 评论