
图论
文章平均质量分 55
TaoSama
The ACM road begins.
展开
-
HDU 4612 Warm up(边双连通、树的直径)
题意: N≤2×105个点,M≤106条边的无向图,有重边N\le 2\times 10^5个点, M\le10^6条边的无向图, 有重边 现在要添加一条边,问添加后剩余最小的桥数是多少现在要添加一条边, 问添加后剩余最小的桥数是多少分析: 套路题,边双连通缩点建树之后,显然要形成一个最大的环让桥数变的最少套路题, 边双连通缩点建树之后, 显然要形成一个最大的环让桥数变的最少原创 2016-03-01 01:41:55 · 516 阅读 · 0 评论 -
HDU 5521 Meeting (最短路)
题意: 给定N<=105个点,M<=106个集合,集合内点可以随便到达,保证集合总点数<=106,权是w给定N<=10^5个点, M<=10^6个集合, 集合内点可以随便到达, 保证集合总点数<=10^6, 权是w 然后求两个人同时从1和n出发,最短路的相遇位置然后求两个人同时从1和n出发, 最短路的相遇位置分析: 集合缩点,添加一个M个源点,源点→点 权为w,点→源点 权为0集合缩原创 2015-10-31 18:25:14 · 2826 阅读 · 0 评论 -
HDU 2767 Proving Equivalences (tarjan scc)
题意: 求给定的图最少需要添加多少条边,整个图是强联通的求给定的图最少需要添加多少条边, 整个图是强联通的分析: 分析强联通图的性质可知,所有点的入度和出度都至少为1分析强联通图的性质可知, 所有点的入度和出度都至少为1 如果要让此图连通,只要在scc缩点之后,对于新图中,求出根数(入度为0)和叶子数(出度为0),把根和叶子连起来,图就连通了如果要让此图连通, 只要在scc缩点之后,原创 2015-11-22 01:39:38 · 393 阅读 · 0 评论 -
HDU 1269 迷宫城堡 (tarjan scc)
题意: 判断给定的图是否是强联通的判断给定的图是否是强联通的分析: 坑,给定的图可能不是连通的坑, 给定的图可能不是连通的代码://// Created by TaoSama on 2015-11-21// Copyright (c) 2015 TaoSama. All rights reserved.////#pragma comment(linker, "/STACK:1原创 2015-11-22 01:30:29 · 341 阅读 · 0 评论 -
UVA 315 Network (tarjan cut)
题意: 求连通图中割点的个数求连通图中割点的个数分析: 模版题模版题代码://// Created by TaoSama on 2015-11-21// Copyright (c) 2015 TaoSama. All rights reserved.////#pragma comment(linker, "/STACK:1024000000,1024000000")#inc原创 2015-11-22 01:28:29 · 452 阅读 · 0 评论 -
UVA 10731 Test (scc)
题意: 求最少的集合个数,使得集合内元素都是冲突的,有序输出求最少的集合个数, 使得集合内元素都是冲突的, 有序输出分析: 都冲突就是都相互可达嘛,有向图就是scc咯,然后用string排序输出都冲突就是都相互可达嘛, 有向图就是scc咯, 然后用string排序输出代码://// Created by TaoSama on 2015-11-08// Copyright (c)原创 2015-11-13 00:21:05 · 654 阅读 · 0 评论 -
UVA 11090 Going in Cycle!! (spfa + 二分)
题意: 在一个有向图中找一个平均距离最小的环在一个有向图中找一个平均距离最小的环分析: −−这种东西记得要往二分上想啊!- - 这种东西记得要往二分上想啊! 二分枚举平均最小距离,每次每条边减去这个距离,然后spfa找负环二分枚举平均最小距离,每次每条边减去这个距离,然后spfa找负环 如果找到,说明平均最小距离比这个值要小,如果没找到,则说明平均最小距离比这个值大。如果找到,原创 2015-11-12 17:50:35 · 375 阅读 · 0 评论 -
Gym 100685G Gadget Hackwrench (LCA)
题意: 给一个V≤105有向的,但是忽略方向是一颗树的「树」,每次查询u→v是否可达,Q≤105给一个 V≤10^5 有向的,但是忽略方向是一颗树的「树」,每次查询 u\to v 是否可达,Q≤10^5分析: 随便设一个点当根,那么边有两种:「向上」和「向下」的。我们可以预处理dp[u] dp[u] 表示u u 到根的路径上「向上」「向下」的边有多少条,有了这个,我们可以 O(1)O(1)原创 2015-10-05 21:18:04 · 801 阅读 · 0 评论 -
POJ 3565 Ants (KM)
题意: 给n<=100个黑点和n<=100白点的坐标,要求用n条不相交的线段将他们相连给n<=100个黑点和n<=100白点的坐标, 要求用n条不相交的线段将他们相连分析: 因为有结点黑白两色,我们不难想到构造一个二分图,其中每个白点对应一个X结点,每个黑点对应一个Y结点因为有结点黑白两色,我们不难想到构造一个二分图,其中每个白点对应一个X结点,每个黑点对应一个Y结点 每个黑点和每个原创 2015-10-05 22:26:35 · 374 阅读 · 0 评论 -
POJ 3177 Redundant Paths (tarjan bcc)
题意: 无向图问最少添加多少条边使得图成为双连通的无向图问最少添加多少条边使得图成为双连通的分析: 显然先把图进行bcc缩点,添加新的边形成bcc显然先把图进行bcc缩点, 添加新的边形成bcc 显然应该选择距离最远的两个叶子节点,这样可以构成一个很大的环(bcc),合并这个bcc上的点,重复这个过程,直到整个图都成为1个bcc显然应该选择距离最远的两个叶子节点, 这样可以构成一个很原创 2015-11-22 01:47:47 · 349 阅读 · 0 评论 -
UVA 11747 Heavy Cycle Edges(MST)
题意: 求图上所有环的重边的权,升序输出求图上所有环的重边的权, 升序输出分析: 考虑MST算法的正确性证明,比如Kruskal算法考虑MST算法的正确性证明, 比如Kruskal算法 在加边的过程中不会形成环,且加进去的边一定是可能构成的环中最大的边,正是题目所求在加边的过程中不会形成环, 且加进去的边一定是可能构成的环中最大的边, 正是题目所求代码://// Created原创 2015-11-24 02:39:26 · 377 阅读 · 0 评论 -
HDU 4607 Park Visit(树的直径)
题意: 给定N≤105的一棵无向树,M≤105次询问从任意起点出发经过K≤N个不同节点的最短路径给定N\le 10^5的一棵无向树, M\le 10^5次询问从任意起点出发经过K\le N个不同节点的最短路径分析: 可以发现直径上的当然是走1次比较好,其他的走2次,因为直径最长可以发现直径上的当然是走1次比较好, 其他的走2次, 因为直径最长 然后就是裸题了然后就是裸题了代码://原创 2016-02-28 01:08:03 · 392 阅读 · 0 评论 -
HDU 5627 Clarke and MST(贪心、连通性)
题意: N,M≤3×105的无向图,求权值位与N,M\le3\times10^5的无向图, 求权值位与(&)运算的最大生成树运算的最大生成树分析: 首先与运算的性质就是参与运算的该位全是1结果才是1首先与运算的性质就是参与运算的该位全是1结果才是1 先把边按照该位是不是1分类,对于生成怎么样的生成树我们不关心,只要抓住如果这些边能让这个图连通,那么一定能生成树先把边按照该位是不是1分原创 2016-02-13 22:38:21 · 682 阅读 · 0 评论 -
Codeforces Round #287 (Div. 2) E. Breaking Good(最短路、dp)
题意: N≤105个城市,M≤105条边,保证无向图连通且无自环和重边N\le10^5个城市, M\le10^5条边, 保证无向图连通且无自环和重边 边分2种,0代表毁坏的,1代表正常的边分2种, 0代表毁坏的, 1代表正常的 现要1→n的最短路,且影响值最小,影响值:=最短路上的毁坏边数+不在最短路上的正常边数现要1\to n的最短路, 且影响值最小, 影响值:=最短路上的毁坏边数原创 2016-02-13 17:24:50 · 433 阅读 · 0 评论 -
HDU 5624 KK's Reconstruction(暴力 + MST)
题意: N≤2000个点,M≤15000条边,求所有MST中最大边−最小边的最小值,无MST输出−1N\le2000个点,M\le15000条边, 求所有MST中最大边-最小边的最小值,无MST输出-1分析: 模拟MST生成的过程,根据Kruskal算法的正确性模拟MST生成的过程, 根据Kruskal算法的正确性 从小往大加边,如果某条边形成环了,就删去环上的最小边把这条边丢进去从原创 2016-02-10 20:58:59 · 411 阅读 · 0 评论 -
HDU 5622 KK's Chemical(dp + 计数、特殊图的染色多项式)
题意: 有1≤N≤100瓶化学药品,编号为0到N−1,第i瓶和第ci瓶放在一起时会发生爆炸,将他们装进k个不同的盒子里,盒子可以为空有1≤N≤100瓶化学药品,编号为0到N-1,第i瓶和第c_i瓶放在一起时会发生爆炸, 将他们装进k个不同的盒子里, 盒子可以为空 不能把两瓶会造成爆炸的药品放进同一个盒子,问有多少种不同的方案,结果对109+7取模不能把两瓶会造成爆炸的药品放进同一个盒子,问原创 2016-02-09 22:06:20 · 983 阅读 · 0 评论 -
UVALive 6837 There is No Alternative (MST + LCA)
题意: 求使图连通不得不建造的边的个数和比边权和求使图连通不得不建造的边的个数和比边权和分析: MST得到所有的可能必须建造的边,枚举所有不在MST的(u,v)删去MST上权值相同的即为alternative edgeMST得到所有的可能必须建造的边, 枚举所有不在MST的(u,v)删去MST上权值相同的即为alternative\ edge代码://// Created by Ta原创 2015-12-06 04:10:12 · 548 阅读 · 0 评论 -
HDU 2242 考研路茫茫 空调教室(tarjan bcc + tree dp)
题意: 去掉一条边使得图变为2个连通图,并且使得两个图的点权和的差值最小,求最小差值去掉一条边使得图变为2个连通图, 并且使得两个图的点权和的差值最小, 求最小差值分析: 先tarjan bcc缩点成为树,树边都是桥,肯定切树边,然后跑煞笔树形dp就好了,需要注意的是,图特么又有重边先tarjan\ bcc缩点成为DAG, 树边都是桥, 肯定切树边, 然后跑煞笔树形dp就好了, 需要注原创 2015-11-22 01:53:13 · 473 阅读 · 0 评论 -
HDU 4005 The war(tarjan bcc + dp)
题意: N<=105,M<=105的无向图,现在有可能在任意位置新建一条边,我们要删掉一条边使得图不连通,求最小花费N<=10^5,M<=10^5的无向图, 现在有可能在任意位置新建一条边, 我们要删掉一条边使得图不连通, 求最小花费分析: bcc肯定不能删边,所以先bcc缩点成DAG,树边都是桥都可以删除,但是怎么删除呢−−懒得说了,别人写的挺清楚的bcc肯定不能删边, 所以先bcc缩点原创 2015-11-25 04:11:01 · 369 阅读 · 0 评论 -
UVA 11721 Instant View of Big Bang(负环)
题意: n<=1000,m<=2000的有向图,无自环,无重边,求所有能到达负环的点集合,升序输出,不存在输出impossiblen<=1000, m<=2000的有向图, 无自环, 无重边, 求所有能到达负环的点集合, 升序输出, 不存在输出impossible分析: −−不知道为啥正向搜一直RE,把oj测爆了也没找到- - 不知道为啥正向搜一直RE, 把oj测爆了也没找到 考虑逆原创 2015-11-24 02:44:20 · 402 阅读 · 0 评论 -
UVA 11419 SAM I AM (最小点覆盖)
题意: 求最小点覆盖并打印方案求最小点覆盖并打印方案分析: 最小点覆盖=最大匹配,然后解方案就是X部未盖点和Y部的已盖点最小点覆盖=最大匹配, 然后解方案就是X部未盖点和Y部的已盖点 先当结论记住吧先当结论记住吧代码://// Created by TaoSama on 2015-10-31// Copyright (c) 2015 TaoSama. All rights原创 2015-11-12 18:09:06 · 373 阅读 · 0 评论 -
UESTC 92 Journey (LCA)
题意: 给出N<=105N<=10^5的一棵树, 和一条新建的边, Q<=105Q<=10^5询问两点间节省了多少时间分析: 知道dis[u][v]=dis[u]+dis[v]−2∗dis[lca(u,v)]dis[u][v] = dis[u] + dis[v] - 2 * dis[lca(u,v)]就好做辣代码://// Created by TaoSama on 2015-09原创 2015-10-05 21:26:42 · 525 阅读 · 0 评论 -
UVA 11159 Factors and Multiples (最大独立集)
题意: 两个集合,如果B集合元素是A的倍数的话,就表明这俩有关系,问从这俩集合删除最少的元素使得没有关系两个集合, 如果B集合元素是A的倍数的话, 就表明这俩有关系, 问从这俩集合删除最少的元素使得没有关系分析: 赤果果的二分图最大独立集=n−最大匹配,那么要删除的就是最大匹配数了赤果果的二分图最大独立集=n-最大匹配, 那么要删除的就是最大匹配数了 注意别模0了,这里Q=k∗P,由原创 2015-11-13 00:25:24 · 987 阅读 · 0 评论 -
AOJ 2249 Road Construction (dijkstra最短路)
Road ConstructionTime Limit : 8 sec, Memory Limit : 65536 KBProblem H: Road ConstructionKing Mercer is the king of ACM kingdom. There are one capital and some cities in his kingdom.原创 2015-03-23 21:48:33 · 888 阅读 · 0 评论 -
POJ 3255 Roadblocks (dijkstra最短路)
RoadblocksTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 8382 Accepted: 3030DescriptionBessie has moved to a small farm and sometimes enjoys returnin原创 2015-03-23 21:21:20 · 516 阅读 · 0 评论 -
POJ 3723 Conscription (kruskal最大生成森林)
ConscriptionTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8479 Accepted: 2959DescriptionWindy has a country, and he wants to build an army to protec原创 2015-03-23 21:54:57 · 597 阅读 · 0 评论 -
POJ 2395 Out of Hay (MST)
Out of HayTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 11853 Accepted: 4642DescriptionThe cows have run out of hay, a horrible event that must be r原创 2015-03-23 22:07:07 · 480 阅读 · 0 评论 -
AOJ 2224 Save your cat (kruskal求最大生成森林)
Save your catTime Limit : 8 sec, Memory Limit : 65536 KBProblem C: Save your catsNicholas Y. Alford was a cat lover. He had a garden in a village and kept many cats in his garden. Th原创 2015-03-23 22:04:09 · 818 阅读 · 0 评论 -
POJ 2377 Bad Cowtractors (kruskal求MST)
Bad CowtractorsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 11136 Accepted: 4688DescriptionBessie has been hired to build a cheap internet network原创 2015-03-23 21:59:00 · 543 阅读 · 0 评论 -
POJ 1258 Agri-Net (prim求MST)
Agri-NetTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 42748 Accepted: 17466DescriptionFarmer John has been elected mayor of his town! One of his cam原创 2015-03-23 21:57:34 · 435 阅读 · 0 评论 -
POJ 2139 Six Degrees of Cowvin Bacon (Floyd)
Six Degrees of Cowvin BaconTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3289 Accepted: 1530DescriptionThe cows have been making movies lately, so t原创 2015-03-23 21:39:15 · 468 阅读 · 0 评论 -
AOJ 0189 Convenient Location (Floyd)
题意:求某一个办公室 到其他所有办公室的 总距离最短 办公室数 不超过10输入:多组输入,每组第一行为n (1 ≤ n ≤ 45),接下来n行是 (x, y, d),x到y的距离是d输出:办公室号 和 最短距离Floyd水题 - -AC代码如下://// AOJ 0189 Convenient Location///原创 2015-03-23 21:35:34 · 820 阅读 · 0 评论 -
POJ 3268 Silver Cow Party (dijkstra来回最短路)
Silver Cow PartyTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 13576 Accepted: 6123DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) convenientl原创 2015-03-23 21:43:52 · 490 阅读 · 0 评论 -
AOJ 2200 Mr. Rito Post Office (Floyd预处理、dp)
快递到了:你是某个岛国(ACM-ICPC Japan)上的一个苦逼程序员,你有一个当邮递员的好基友利腾桑遇到麻烦了:全岛有一些镇子通过水路和旱路相连,走水路必须要用船,在X处下船了船就停在X处。而且岛上只有一条船,下次想走水路还是得回到X处才行;两个镇子之间可能有两条以上的水路或旱路;邮递员必须按照清单上的镇子顺序送快递(镇子可能重复,并且对于重复的镇子不允许一次性处理,比如ABCB的话B一定要按原创 2015-03-23 21:52:13 · 1072 阅读 · 0 评论 -
HDU 3435 A new Graph Game (KM)
题意: N<=1000,M<=10000,删边求汉密顿圈的最小权N<=1000, M<=10000, 删边求汉密顿圈的最小权分析: 圈嘛,每个点只能属于一个圈,然后可以想到匹配了圈嘛, 每个点只能属于一个圈, 然后可以想到匹配了 怎么做呢,圈每个点有唯一的后继,然后拆点咯怎么做呢, 圈每个点有唯一的后继, 然后拆点咯 判断可行看是不是完美匹配就好了,图大用km咯判断可行看是不是原创 2015-11-03 23:26:17 · 328 阅读 · 0 评论 -
HDU 2121 Ice_cream’s world II (不定根最小树形图求根)
题意: N<=1000,M<=10000,不定根最小树形图,输出最小权和相应的根位置N<=1000, M<=10000, 不定根最小树形图, 输出最小权和相应的根位置分析: 设一个虚根,然后连虚边,权值为一个大于总权和的权但是小于INF,用边标号来记录实根的位置设一个虚根, 然后连虚边, 权值为一个大于总权和的权但是小于INF, 用边标号来记录实根的位置 如果存在最小树形图的话,只会原创 2015-11-03 23:21:06 · 441 阅读 · 0 评论 -
HDU 3072 Intelligence System (tarjan-scc缩点 + 最小树形图)
题意: 给了一个含有N<=50000个节点的有向图,图中的两点间通信付出代为经过的边权之和,但是如果这两个点之间相互可达,代价为0给了一个含有N<=50000个节点的有向图,图中的两点间通信付出代为经过的边权之和,但是如果这两个点之间相互可达,代价为 0 问从给定的节点向其他所有的点通信,所花费的最小代价是多少?问从给定的节点向其他所有的点通信,所花费的最小代价是多少?分析: 相互可原创 2015-11-04 00:26:13 · 604 阅读 · 0 评论 -
HDU 4587 Two Nodes、POJ 2375 Reliable Nets (Tarjan)
TWO NODES题意: 无向图删去两个点, 使得图存在的连通分量最多。思路: 我们知道删去割点,连通分量数目增加,其中一个点必然是割点,那么另一个点枚举就可以了我们用cut[v]表示删去这个点 增加的连通分量数目 那么我们只要把求割点的bool数组改成int数组就可以了这里我们要考虑一下对于根节点,如果是一个孤立节点是一个cc,删去以后没有cc了,那么减少了1,由于cut原创 2015-06-14 22:58:45 · 605 阅读 · 0 评论 -
Codeforces #290 (div2)
AB 时间太多久远 不记得了 - - 这次来补题 - - C和D 刚学了拓扑排序 迫不及待来补这个C 挺不错的题目C. Fox And Namestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inp原创 2015-05-18 22:01:55 · 479 阅读 · 0 评论 -
Codeforces #306 (div2)
A. Two Substrings题意: 找这个串是否有不重复覆盖的AB和BA思路: 用AB枚举BA 然后倒过来再做一次 或者找出AB和BA的位置 匹配一下参考code:当时逗了 - - 然后就fst了 虽然一改过了 代码比较丑//// Created by TaoSama on 2015-06-05// Copyright (c) 2015 TaoSama. All原创 2015-06-06 11:41:07 · 522 阅读 · 0 评论