图论
fa茶
这个作者很懒,什么都没留下…
展开
-
POJ1966.Cable TV Network——无向图的点连通度
http://poj.org/problem?id=1966题目描述: 有线电视网络中,中继器的连接是双向的。如果网络中任何两个中继器之间至少有一条路,则中继器网络称为是连通的,否则中继器网络是不连通的。一个空的网络、以及只有一个中继器的网络被认为是连通的。具有n 个中继器的网络的安全系数f 被定义成: (1) f 为n,如果不管删除多少个中继器,剩下的网络仍然是连通的; (2) f 为删除最原创 2015-05-01 21:28:43 · 585 阅读 · 0 评论 -
POJ3207.Ikki's Story IV - Panda's Trick——2-sat可行性判断
http://poj.org/problem?id=3207题目描述: 一个圆上有n个点按顺时针排列,然后有m条线,m条线要么在圆内,要么在圆外。对于给定的m条线能否满足任意的两条线都不相交分析: 对于第i条线,点i表示在圆内,i’表示在圆外。那么对于两条线i和j的关系为i xor j=1 那么两条线怎样才能相交呢?很明显a//1604K 32MS C++#include<iostre原创 2015-04-20 17:57:25 · 474 阅读 · 0 评论 -
HDU3622.Bomb Game——2-sat二分最大值+可行性判定
http://acm.hdu.edu.cn/showproblem.php?pid=3622题目描述: 有n个给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径. 首先二分最大半径值,然后2-sat构图判断其可行性,对于每两对位置(u,uu)和原创 2015-04-19 23:54:44 · 571 阅读 · 0 评论 -
POJ2117.Electricity——无向图的割点
http://poj.org/problem?id=2117题目描述: 求删除一个点后,图中最多有多少个连通块#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<algorithm>const int MAXN=10010;const int MAXM=100010;using nam原创 2015-04-08 14:19:37 · 717 阅读 · 0 评论 -
HDU4115.Eliminate the Conflict(剪刀石头布)——2-sat可行性判断
http://acm.hdu.edu.cn/showproblem.php?pid=4115题目描述: Bob,和Alice两人进行n轮的剪刀石头布,已知Bob n轮的出的情况,对于Alice给出m组的限制,只要每轮Alice没输,n轮之后就算Alice赢。判断她是否能赢分析: 对于第i轮Bob出的情况,则alice有两种选择(相当于第i个变量有两种状态),然后我们只要处理矛盾边即可//62M原创 2015-04-22 23:15:22 · 900 阅读 · 0 评论 -
UVA11324.The Largest Clique最大团——scc+dp
http://www.bnuoj.com/v3/problem_show.php?pid=19742题目描述: 给一张有向图G,求一个结点数最大的结点集,使得该结点集中任意两个结点u和v满足:要么u可以到达v,要么v可以到达u,或者可以相互到达分析: 在最优方案中,同一个强连通分量中的点要么都选,要么都不选。把强连通分量收缩点后得到scc图,让每个scc结点的权等于它的结点数,则题目转化为求sc原创 2015-04-11 17:31:33 · 412 阅读 · 0 评论 -
HDU2767.Proving Equivalences等价性证明——SCC
http://acm.hdu.edu.cn/showproblem.php?pid=2767题目描述: 给定n个结点m条边的有向图,求添加最少的边使得新图变为强连通图分析: 首先找出强连通分量,然后把每个强连通分量缩成一个点,得到一个DAG。设有a个结点的入度为0,b个结点的出度为0,则答案为max(a,b) 。当原图已经强连通时,答案为0一个含有n个点的图,至少要有n条边才能强连通,即每个点原创 2015-04-09 21:23:19 · 415 阅读 · 0 评论 -
POJ3648.Wedding——2-sat输出任意解
http://poj.org/problem?id=3648题目描述: 有一对新人举办婚礼,邀请了n对夫妇参加他们的婚礼,有一张桌子,人只能坐在桌子的两边。有m对的人通奸(男男,男女,女女),要求: 1.夫妇不能坐在同一边 2.通奸的两个人不能坐在新娘的对面那边如果存在一组解,则输出坐在新娘同侧的人分析: 每个人两种状态,坐在桌子的一边或者另一边,有m组矛盾。可以在新郎必选的前提下求出一组解原创 2015-04-22 13:11:21 · 713 阅读 · 0 评论 -
UVA796.Critical Links——无向图的桥
http://www.bnuoj.com/v3/problem_show.php?pid=17935题目描述: 给定一个无向图,并不一定是连通图,求所有的桥#include<iostream>#include<cstring>#include<cstdio>#include<vector>#include<algorithm>const int MAXN=10010;const int原创 2015-04-03 10:46:05 · 553 阅读 · 0 评论 -
POJ1523.SPF——无向图的割点,并求连通分支数(tarjan算法)
http://poj.org/problem?id=1523题目描述: 给定一张无向图,求割点,并求删除该割点所得的连通分支数#include<algorithm>#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<vector>#include<queue>#include<stac原创 2015-04-02 20:36:11 · 675 阅读 · 0 评论 -
POJ1043.What's In A Name?——反面构图+二分匹配
http://poj.org/problem?id=1043题目描述: FBI 对一个犯罪团伙的藏匿点进行监视,这个藏匿点作为这个团伙的通信中心,团伙成员通过邮件进行联系。利用尖端的解密软件和缜密的窃听技术,FBI 能够解密从藏匿点发出的任何邮件。然而,在办理逮捕许可证前,他们必须将邮件中的用户名跟罪犯的实姓名对应起来。但是,犯罪团伙很狡猾,他们采用随机的字符串作为他们的用户名。FBI 知道每个罪原创 2015-03-24 10:35:03 · 493 阅读 · 0 评论 -
POJ1469.COURSES课程——二分匹配
http://poj.org/problem?id=1469题目描述: 考虑N 个学生和P 门课程。每个学生见习0、1 或多门课程。你的任务是判断是否能从这些学生当中选出P 名学生,组成一个委员会,并同时满足以下条件: 1) 委员会中的每名学生代表一门不同的课程(如果一名学生见习了某门课程,则他/她可以代表这门课程)。 2) 每门课程在委员会中有一名代表。分析: 只要每门课程都要学生匹配就行原创 2015-03-18 21:26:39 · 487 阅读 · 0 评论 -
HDU1814.Peaceful Commission——2-sat输出字典序最小的解
http://acm.hdu.edu.cn/showproblem.php?pid=1814题目描述: 有n队的人,编号从1-2*n,m对的人之间互相不喜欢,每对人中必徐选1个人加入和平委员会,求字典序最小的解分析: dfs解法 O(nm)#include<iostream>#include<cstring>#include<cstdio>const int MAXN=8010*2;co原创 2015-04-20 12:28:15 · 1311 阅读 · 0 评论 -
POJ2296.Map Labeler——2-sat二分最大值+可行性判断
http://poj.org/problem?id=2296题目描述: 在二维坐标在有n个点,在这n个点上放正方形,每个点只能放在正方形上/下边界的中点,要使得这n个点放置的正方形互不相交,求正方形的最大边长分析: 每个正方形要么放上面,要么放下面,2种限制。。。 对第i个点,2*i表示放上面,2*i+1表示放下面.设边长为r 1.当abs(x[i]-x[j])>=r,则这两个正方形可以任意原创 2015-04-21 14:18:39 · 653 阅读 · 0 评论 -
最小割5题
S-T割将集合分为两个部分1.Dual Core CPU http://poj.org/problem?id=3469 题目分析: 双核cpu,有n个的模块,给出第i个模块在第一个核运行的费用和在第二个核运行的费用。以及m对模块如果不在同一个核中运行要多耗费的费用。求最小费用分析: 注:ai为第i个模块在第一个核运行的耗费,bi为第i个模块在第二个核运行的耗费 cpu的两个核分别当做源点和原创 2015-05-15 13:04:40 · 732 阅读 · 0 评论 -
ZOJ2588.Burning Bridges——边双连通分量,桥
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1588题目描述: Ferry 王国是一个漂亮的岛国,一共有N 个岛国、M 座桥,通过这些桥可以从每个小岛都能到达任何一个小岛。很不幸的是,最近Ferry 王国被Jordan 征服了。Jordan 决定烧毁所有的桥。这是个残酷的决定,但是Jordan 的谋士建议他不要这样做,因为如原创 2015-04-30 13:48:28 · 646 阅读 · 0 评论 -
poj2112Optimal Milking(最优秀的挤奶方案)——floyd+最大流+二分
http://poj.org/problem?id=2112题目描述: 农场主John 将他的K(1≤K≤30)个挤奶器运到牧场,在那里有C(1≤C≤200)头奶牛,在奶 牛和挤奶器之间有一组不同长度的路。K个挤奶器的位置用1~K的编号标明,奶牛的位置用K+1~ K+C 的编号标明。 每台挤奶器每天最多能为M(1≤M≤15)头奶牛挤奶。 编写程序,寻找一个方案,安排每头奶牛到某个挤奶器挤奶原创 2015-02-11 20:40:02 · 2790 阅读 · 0 评论 -
POI1999.Store-keeper(推箱子)——点双连通分量+割点+bfs
http://www.bnuoj.com/v3/problem_show.php?pid=21155题目描述:有一个n*m的地图,S表示墙,w表示空地,P表示箱子的起始位置,K表示目标位置,M表示人的起始位置 求把箱子从起始位置推到目标位置所需要的最小步数分析: https://www.byvoid.com/blog/poi-1999-mag/ byvoid大牛解析无限wa,郁闷//并不能AC原创 2015-05-03 16:56:38 · 1257 阅读 · 0 评论 -
POJ3177.Redundant Paths——增加多少条边使原图变为边双连通图
http://poj.org/problem?id=3177题目描述: 有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走。现已有m条路,求至少要新建多少条路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指:没有公共边的路,但可以经过同一个中间顶点。分析:在同一个边双连通分量中,任意两点都有至少两条独立路可达,所以同一个边双连通分量里的所有点可以看做同一个原创 2015-04-27 21:58:11 · 518 阅读 · 0 评论 -
POJ3352.Road Construction——边-双连通分量
http://poj.org/problem?id=3352题目描述: 某个企业想把一个热带天堂岛变成旅游胜地,岛上有N个旅游景点,任意2个旅游景点之间有路径连通(注意不一定是直接连通)。而为了给游客提供更方便的服务,该企业要求道路部门在某些道路增加一些设施。 道路部门每次只会选择一条道路施工,在该条道路施工完毕前,其他道路依然可以通行。然而有道路部门正在施工的道路,在施工完毕前是禁止游客通行的原创 2015-04-30 09:26:18 · 467 阅读 · 0 评论 -
HDU3394.Railway——点双连通分量
http://acm.hdu.edu.cn/showproblem.php?pid=3394题目描述: 有一个公园有n个景点,公园的管理员准备修建m条道路,并且安排一些形成回路的参观路线。如果一条道路被多条道路公用,那么这条路是冲突的;如果一条道路没在任何一个回路内,那么这条路是不冲突的问分别有多少条有冲突的路和没有冲突的路分析: 刚学点双和边双,看见题目分不清哪个是哪个~这个题目是求点双的。某原创 2015-04-29 20:47:36 · 2227 阅读 · 0 评论 -
POJ1144.Network——无向图的割点
http://poj.org/problem?id=1144题目描述:TLC 电话线路公司正在新建一个电话线路网络。他们将一些地方(这些地方用1 到N 的整数标明,任何2 个地方的标号都不相同)用电话线路连接起来。这些线路是双向的,每条线路连接2 个地方,并且每个地方的电话线路都是连接到一个电话交换机。每个地方都有一个电话交换机。从每个地方都可以达到其他一些地方(如果有线路连接的话),然而这些线路不原创 2015-05-02 16:13:15 · 560 阅读 · 0 评论 -
HDU3844.Mining Your Own Business井下矿工——双连通分量
http://acm.hdu.edu.cn/showproblem.php?pid=3844无限WA 烦~~~原创 2015-04-28 15:54:08 · 1273 阅读 · 0 评论 -
LA3523.Knights of the Round Table圆桌骑士——点双连通分量+二分图判断
http://www.bnuoj.com/v3/problem_show.php?pid=3061题目描述: 有n个骑士经常举行圆桌会议,商讨大事。每次圆桌会议至少应有3个骑士参加,且相互憎恨的骑士不能坐在圆桌旁的相邻位置。如果发生意见分歧,则需要举手表决,因此参加会议的骑士数目必须是奇数,以防止赞同和反对票一样多。知道哪些骑士相互憎恨之后,你的任务是统计有多少个骑士不可能参加任何一个会议。分析:原创 2015-04-25 12:10:43 · 858 阅读 · 0 评论 -
POJ3678.Katu Puzzle——2-sat裸题
http://poj.org/problem?id=3678题目描述: n个变量,m组逻辑表达式,每个变量取1或取0,判断是否有解分析: 每个变量两种状态,m种矛盾 构图建边 a表示元变量,a’表示反变量 a and b == 1, 这种情况a和b必须取1,所以连边a’->a, b’->b. a and b == 0, 这种情况a和b不能同时为1,所以连边a原创 2015-04-21 20:47:02 · 515 阅读 · 0 评论 -
POJ3041.Asteroids——最小顶点覆盖
http://poj.org/problem?id=3041题目描述: 贝茜想驾驶她的太空飞船航行于一个N×N 的网格,1≤K≤10,000,网格中分布了K 个危险的小行星,这些小行星位于网格中的方格里。 幸运的是,贝茜有一种强大的武器,只要一发子弹,就可以使某一行或某一列上的所有小行星气化。这种武器太昂贵了,所以她必须很节俭地使用这种武器。给定网格中所有小行星的位置,求贝茜至少需要发射多少发子原创 2015-03-24 15:04:53 · 454 阅读 · 0 评论 -
ZOJ1654.Place the Robots放置机器人——最大独立集
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=654题目描述: Robert 是一个著名的工程师。一天,他的老板给他分配了一个任务。任务的背景是:给定一 个m×n 大小的地图,地图由方格组成,在地图中有3 种方格-墙、草地和空地,他的老板希望 能在地图中放置尽可能多的机器人。每个机器人都配备了激光枪,可以同时向四个方向(上原创 2015-03-18 13:40:31 · 2113 阅读 · 0 评论 -
POJ1459Power Network(电网)——最大流水题
http://poj.org/problem?id=1459长篇阅读。。。题目描述: 一个电网包含一些结点(电站、消费者、调度站),这些结点通过电线连接。每个结点u 可能 被供给s(u)的电能,s(u)≥0;同时也可能产生p(u)的电能,0≤p(u)≤pmax(u);站点u 还有可能 消费c(u)电能,0≤c(u)≤min( s(u), cmax(u) );可能传输d(u)的电能,d(u) =原创 2015-02-12 22:54:41 · 984 阅读 · 0 评论 -
排水沟(Drainage Ditches)——最大流水题
http://poj.org/problem?id=1273题意: 每次下雨的时候,农场主John 的农场里就会形成一个池塘,这样就会淹没其中一小块土地, 在这块土地上种植了Bessie 最喜欢的苜蓿。这意味着苜蓿要被水淹没一段时间,而后要花很长时 间才能重新长出来。因此,John 修建了一套排水系统,这样种植了苜蓿的土地就不会被淹没。雨 水被排到了附近的一条小河中。作为一个一流的工原创 2015-02-10 21:15:34 · 1054 阅读 · 0 评论 -
POJ1149.PIGS(迈克卖猪问题)——最大流
http://poj.org/problem?id=1149题目描述: 迈克在一个养猪场工作,养猪场里有M 个猪圈,每个猪圈都上了锁。由于迈克没有钥匙,所 以他不能打开任何一个猪圈。要买猪的顾客一个接一个来到养猪场,每个顾客有一些猪圈的钥匙, 而且他们要买一定数量的猪。某一天,所有要到养猪场买猪的顾客,他们的信息是要提前让迈克 知道的。这些信息包括:顾客所拥有的钥匙(详细到有几个猪圈的钥匙、原创 2015-02-18 18:52:08 · 1357 阅读 · 0 评论 -
POJ2391.Ombrophobic Bovines(不喜欢雨的奶牛)——floyd+二分+拆点+最大流
http://poj.org/problem?id=2391写的挫的最大流会超时~~~题目描述: Jack 农场主的奶牛实在是太讨厌被淋湿了。决定在农场设置降雨警报,这样在快要下 雨的时候可以让奶牛们都知道。他们设置设计了一个下雨撤退计划,这样在下雨之前每头奶牛都 能躲到避雨点。然而,天气预报并不总是准确的。为了使得错误的天气预报影响尽可能小,他们 希望尽可能晚地拉响警报,只要保证留有足够的原创 2015-02-18 18:37:56 · 875 阅读 · 0 评论 -
苗条的生长树slim span,uva1395——最小生成树,kruskal
给出一个n(nkruskal算法:对边权从小到大排序,然后枚举第一条边。根据kruskal的贪心思想,当最小的那条边确定了,那么MST的最大边也就随之确定,且剩余的边中没有比最大边的边权小的边。菜比的代码总是很繁琐。为了判断所有点是否连通,就用了Union-find set的启发式合并——用一个cnt,记录选了多少次点就行了,煞笔!而且我因为题目给的是无向图,就建了原创 2015-01-21 12:14:50 · 906 阅读 · 0 评论 -
Codeforces Round #290 (Div. 2)E. Fox And Dinner——最大流 奇偶建图
http://codeforces.com/contest/510/problem/En只狐狸要吃饭,要求每张桌子至少3只狐狸,相邻两只狐狸的年龄和是素数因为年龄至少为2,所以和为素数一定是奇数,奇数=奇数 偶数,超级源点0对所有的奇数连一条边,cap=2,所有的偶数和超级汇点连一条边,cap=2.如果某个奇数和某个偶数和为素数,则连一条边,cap=1. 有解当且仅当最大流为n#include<b原创 2015-02-08 23:07:06 · 440 阅读 · 0 评论 -
买还是建buy or build,uva1151——最小生成树,Kruskal,枚举子集
平面上有n个点(1kruskal:先求一次原图的最小生成树,得到n-1条边,然后每次枚举完套餐后只考虑套餐中的边和这n-1条边,则枚举套餐之后再求最小生成树。精髓:kruskal算法中,那些两端已经属于同一个连通分量的边不会再加到生成树里面。那么买了套餐后,相当于一些边的权变为0,而对于不在套餐中的每条边e,排序在e之前的边一个也没少,反而可能多了一些权值为原创 2015-01-21 20:22:53 · 868 阅读 · 1 评论 -
Ideal Path,uva1599/hdu 3760(最短路中字典序最小的路径)
给一个n个点m条边(2最短路+字典序从终点开始倒着bfs,得到每个结点i到终点的最短距离d[i],然后直接从起点开始走,但是每次到达一个新结点时要保证d值恰好减1,如果有多条边的颜色字典序都是最小的,则记录所有这些边的终点,进行bfs。直到到达终点贴上超时代码。。。待我复习最短路。#include#include#include#include#includ原创 2015-01-20 16:39:56 · 594 阅读 · 0 评论 -
Codeforces Round #290 (Div. 2)C - Fox And Names——拓扑排序
http://codeforces.com/contest/510/problem/C给你n个字符串,求是否存在按所给的字符串的顺序能够得到一个新的a-z的顺序表拓扑排序 注意点:上下相邻两个串,如果上面的串是下面的串的前缀,则无需重新排列,反之如果下面的串是上面的串的前缀,则输出impossible。否则,就对相邻两个串最左边第一个不相同的字母之间连一条有向边输出合法的a-z的序列#includ原创 2015-02-07 15:23:25 · 531 阅读 · 0 评论 -
Play on Words,UVA 10129——求欧拉回路/欧拉通路
欧拉原创 2015-01-16 15:47:29 · 711 阅读 · 0 评论 -
Abbott的复仇——最短路
题目地址:Abbott's Revenge难点在于建图,建完图,bfs最短路即可。用三元组(r,c,dir)表示每个点,建图判断每个的点能不能走,前一个点的朝向,和即将的转向是否合法即可最后输出路径的时候,为了防止栈溢出,用vector保存路径#include#include#include#include#includeusing nam原创 2015-01-13 17:17:50 · 2661 阅读 · 0 评论 -
噪音恐惧症(Audiophobia,UVa10048)——floyd变形,最大最小化
输入一个C个点S条边(C每条路径选取最大的,在所有路径里面选取最小的#include#include#include#define FORD(i,a,b) for(int i=(a);i<=(b);++i)const int maxn=110,INF=0x3f3f3f3f;using namespace std;int n,m,q;int g[maxn][ma原创 2015-01-26 13:29:54 · 1421 阅读 · 0 评论 -
POJ1087A Plug for UNIX(会议室的插座)——最大流
http://poj.org/problem?id=1087题目描述: 现在由你负责布置Internet 联合组织首席执行官就职新闻发布会的会议室。 由于会议室修建时被设计成容纳全世界各地的新闻记者,因此会议室提供了多种电源插座用 以满足(会议室修建时期)各国不同插头的类型和电压。不幸的是,会议室是很多年前修建的, 那时新闻记者很少使用电子设备,所以会议室对每种插座只提供了一个。新闻发布会时原创 2015-02-14 15:50:11 · 706 阅读 · 0 评论