![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 85
Albafica
研究生
方向:计算机网络
个人描述:完全没入门。SDN门外汉。痛苦的转型期。
展开
-
POJ3905 Perfect Election 2-SAT
裸的2SAT,搞之。。。。Perfect ElectionTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 402 Accepted: 201DescriptionIn a country (my memory fails to say which), t原创 2013-04-24 07:05:15 · 845 阅读 · 0 评论 -
POJ1985 Cow Marathon 树的直径
求一棵树的直径。方法:随便选一个点当做root,开始DFS找到最远的一个点,这个点一定是树直径中的一个端点(严格树,不存在环)然后再把刚才找到的点作为ROOT 第二遍DFS,这次找到的最远的距离,就是树的直径。 Cow MarathonTime Limit: 2000MS Memory Limit: 30000KTotal Submiss原创 2013-05-10 13:34:38 · 1241 阅读 · 2 评论 -
POJ2942 Knights of the Round Table 双连通分量+二分图+奇圈判断
有n个骑士,其中有m对关系恶劣现在开会要坐在圆桌上面,可以做很多张圆桌,但是关系恶劣的两人不能坐在相邻位置,现在问你有多少个骑士不能参加会议。将关系不恶劣的其实连边首先这道题目为什么是双联通分量而不是边双联通,因为圆桌,是一个环,每两个点之间存在两条(或以上)点不重复的路径,因此是一个双联通分量,一个联通分量重的骑士,可能组成一个圆桌会议。至于一个联通分量的中的骑士能不能组成一个圆桌,原创 2013-05-26 23:09:16 · 1084 阅读 · 0 评论 -
UVA10983 Buy one, get the rest free 拆点+ 网络流+二分
二分最小费用,小于等于这个费用的边要连起来。把一个城市看做一个点,加入有d天,那么要拆成d+1个点。st与d(i,0)连弧,容量为相应城市的人数d(i ,j) 与 d(i ,j+1)连弧,容量INF;如果d(i,j) 到 d(k,j+1)有一班飞机,且费用小于等于我们枚举的费用,那么连弧,容量费飞机搭载人数。最后用网络跑一次,判断是否满流即可。下周各种考试啊。三门。原创 2013-05-11 23:24:25 · 850 阅读 · 0 评论 -
UVA11324 The Largest Clique 强连通分量
此题要求出一个最大团,那么首先求出scc,然后缩点,重构成一个DAG图,每一个节点的点权为每一个scc的节点数量,最后求一条点权最大的路径即可(dp记忆化搜索)。The Largest CliqueTime Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu原创 2013-05-28 07:36:05 · 707 阅读 · 0 评论 -
HDU2767 Proving Equivalences 强连通分量
求在图中添加多少条边能使图强连通,首先求出图中强连通分量,然后将scc缩点,统计缩点后的图的出入度。最后答案是入度为0的点,和出度为0的点中数量最大的。注意图已经强连通的情况。Proving EquivalencesTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav原创 2013-05-28 07:08:40 · 630 阅读 · 0 评论 -
LA3211 Now or later 2-SAT
有n架飞机,每一架飞机有两个着陆时间,且相继着陆的两架飞机着陆时间必须相差t以上,现在要我们求出最大的t。枚举t值,在根据2-SAT建图。建图:枚举间隔t;如果 |a[i]-a[j]|如果|a[i]-b[j]|如果|b[i]-a[j]|如果|b[i]-b[j]|Now or laterTime Limit: 9000MS Memo原创 2013-05-28 13:41:48 · 548 阅读 · 0 评论 -
UVA11374 Airport Express SPFA
分别求出一点到起点和终点的最短距离,然后枚举商业线求出起点到终点的最短距离,记录即可。不看英文原题的要注意两个输出之间要有空行Airport ExpressTime Limit: 1000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu[Submit]原创 2013-05-30 13:40:42 · 746 阅读 · 0 评论 -
Ural1109 Conference 二分匹配
求一个二分图的最大点独立集。二分图性质明显,没什么好说的 :最大独立集数 = 节点数 – 最大匹配数。 就是要加的电话连接数量1109. ConferenceTime limit: 0.5 secondMemory limit: 64 MBOn the upcoming conference were sent M represe原创 2013-06-13 23:58:38 · 494 阅读 · 0 评论 -
POJ2239 Selecting Courses 二分匹配
课程一个点集,每一个能上课的·时间一个点集。将相应的开课时间连边,最后求一次最大匹配。网络流也可以解决这道题,做法是在二分图的基础上源点与课程相连容量都为1,上课时间与汇点连,容量都为1.(没试过)Selecting CoursesTime Limit: 1000MS Memory Limit: 65536KTotal Submi原创 2013-06-14 00:54:27 · 545 阅读 · 0 评论 -
POJ2253 Frogger FLOYD
找出一条路径,从1到2,在这条路径上两点之间的最大距离要最小。用floyd处理。松弛的时候改变一下即可FroggerTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 20305 Accepted: 6595DescriptionF原创 2013-06-14 01:33:38 · 1044 阅读 · 0 评论 -
POJ2914 Minimum Cut Stoer-Wagner
Minimum CutTime Limit: 10000MS Memory Limit: 65536KTotal Submissions: 6414 Accepted: 2670Case Time Limit: 5000MSDescriptionGiven an undirected graph, in原创 2013-05-09 14:19:36 · 492 阅读 · 0 评论 -
LA4255 Guess 拓扑排序
Bi表示A1+...Ai则题目中Sij可以表示为Bj-B(i-1) :即前缀和只差利用大小关系,我们可以得到Bj和Bi-1的大小关系,连一条边从大的连到小的,统计入度,拓扑排序,先出队的为大的元素,B0为0,初始化所有元素为0,每次调整Bi的大小GuessTime Limit: 3000MS Memory Limit: Unknown原创 2013-05-23 02:15:08 · 521 阅读 · 0 评论 -
POJ1386 Play on Words 有向图欧拉通路判断
题目中给你n个字符串,问你能不能找到一种排列方案,使前一个单词的尾部字符是下一个单词的首部字母。这里我们要将问题转化,将一个单词看成一条边。将首尾两个字符分别看做两个节点,中间字母全部忽略比如数据1:acmibm acm 是一条 a->m的边ibm 是一条 i->m的边判断存不存一条欧拉通路能够遍历每一条边,注上述问题的单词已经被我转化为一条有向原创 2013-05-17 23:45:17 · 1143 阅读 · 0 评论 -
POJ1041 John's trip 无向图的欧拉回路路径输出
此题要求我们判断欧拉回路是否存在,如果存在还要用最大字典序输出。这样我们就直接吧每一个出边表连出去的边根据从小到大排序就好。这样越小的节点号越早遍历到。最后从栈顶输出的时候自然就是最大的字典序了。至于求欧拉回路的路径这里我用了DFS,其实还有专门的一种算法叫Fleury。用DFS的方法是,之前的是否存在的判断仍与之前相同,当判定存在的时候,在图上选择一个正确的起点(如果是回路那个点都可以当原创 2013-05-18 01:14:29 · 1760 阅读 · 1 评论 -
POJ1637 Sightseeing tour 混合图的欧拉回路+最大流
混合图的欧拉回路判断方法在黑书上面有具体提到。 这里采用的方法:先给无向边定向,让后统计每一个点的出入度,如果有一个点的出入度只差为奇数,则该图不存在欧拉回路(有向图的欧拉回路每个点的度数都是偶数,至于出度=入度,在求最大流时我们会进行调整)。全部判断完后,开始建图。1:把每一条无向边建成一条容量为1的弧。2:出入度之差不为0的点:如果出>入 则将改点和源点相连 容量为原创 2012-08-20 14:26:23 · 4207 阅读 · 0 评论 -
POJ1300 Door Man 无向图欧拉通路
判断图中是否存在欧拉回路,终点规定为0,起点指定。图为无向图,所以判断方法是如果不存在度数为奇数的节点(房间),并且起点为0则输出YES X。如果存在2个奇数度数的节点,并且分别为0 和 S(S!=0)则存在欧拉回路。其他情况都不符合规定。这道题比较简单,就是输入要注意使用cin.getline()。Door ManTime Limit: 1000MS Me原创 2012-08-12 22:15:45 · 947 阅读 · 0 评论 -
Ural1721 Two Sides of the Same Coin 二分匹配
吐槽一下。。开这题的人需要有多大的勇气去读题。。。。。。给题目的长度给跪了。题意。一大堆废话,总之就是一共有n个人,一个人能干statement或者testdata或者两样都能干,现在每一个人都一个rank,只有rank相差正好等于2的人才能配合(一个负责statement另一个负责testdata)求出最大搭配数,并且输出方案(左边statemenet,右边testdata)题意解释完之原创 2013-05-18 23:11:34 · 660 阅读 · 0 评论 -
HDU2894 DeBruijin 欧拉回路
欧拉回路,转动鼓轮的应用。DeBruijinTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 307 Accepted Submission(s): 195Problem Desc原创 2013-05-20 17:18:00 · 881 阅读 · 1 评论 -
POJ1392 Ouroboros Snake 欧拉回路(转动鼓轮模型)
和HDU2894一样,先求出一条回路,然后按照要求输出相应的边,Ouroboros SnakeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 864 Accepted: 410DescriptionOuroboros is a my原创 2013-05-20 17:20:21 · 679 阅读 · 0 评论 -
UVA10054 The Necklace 欧拉回路输出路径
一个珠子当做一条边,颜色当做一个点,建立无向图,判断存不存一条欧拉回路。The NecklaceTime Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu[Submit] [Go Back] [Status] De原创 2013-05-21 01:48:12 · 569 阅读 · 0 评论 -
POJ3249 Test for Job DAG最长路
还是用记忆化搜索比较好。这题点数量很多,不能用矩阵了,所以要用链表建立反向DAG(记忆化搜索要反向遍历)。注意题目的话费有负值。 让你求一副图中从一个入度为0的点到一个出度为0的点的最长距离 Test for JobTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 78原创 2013-05-07 13:46:16 · 978 阅读 · 0 评论 -
UVA10989 Bomb, Divide and Conquer Stoer-Wagner
全局最小割,用最小的代价使原图不连通,求这个最小代价。这题是一个标准的全局最小割,有专门的算法Stoer-Wagner。 网上有很多讲解了。用了prim的思想。枚举源点汇点再用网络流过于暴力了。时间复杂度过高,所以还是学下新算法。代码挺短的。 Bomb, Divide and ConquerTime Limit: 3000MS Memory Limit:原创 2013-05-09 13:31:56 · 780 阅读 · 0 评论 -
UVA10917 Walk Through the Forest SPFA+DP
首先用最短路求出每一个点到终点的最短距离,然后按照可以走的路径要求即 dis[u]>dis[v] 在一张DAG图上做记忆化搜索即可。Walk Through the ForestTime Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu[S原创 2013-06-04 23:44:21 · 650 阅读 · 0 评论 -
Ural1076 Trash KM
很裸的一道KM,可以用费用流。我一般做这类题目偏向于建费用流,因为取值为负容易出错,这道题目二分图之间每一对点都连线,所以不存在赋值为INF的边。1076. TrashTime limit: 1.0 secondMemory limit: 64 MBYou were just hired as CEO of the local junkyard.On原创 2013-06-14 00:34:00 · 718 阅读 · 0 评论 -
UVA10537 The Toll! Revisited dijkstra
有两种节点,一种是大写字母,一种是小写字母,当时小写字母是要付1各单位的过路费,当时大写字母的时候要付当前自己财务的1/20分之一当做过路费。求最少带多少个物品从起点到终点能在最后交付的时候有k个物品。这个问题我们倒着求解,求从终点到起点的最短路。然后在根据每个点到终点的最小消耗输出ASCII码序最小的路径。The Toll! RevisitedTime原创 2013-06-14 15:43:33 · 919 阅读 · 0 评论 -
HDU4612 Warm up 边双联通分量+树的直径
模板题桥的数量-树的直径输的直径两次DFS即可Warm upTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 2506 Accepted Submission(s): 586原创 2013-08-26 23:57:43 · 616 阅读 · 0 评论 -
ZOJ2616 Duopoly 最小割
很明显的最小割不同公司订单分别连源点和汇点,容量是定价然后冲突订单连边。容量INF然后总和减去最小割就是答案DuopolyTime Limit: 10 Seconds Memory Limit: 32768 KBTHE 30th ACM/ICPC ASIA REGIONAL 2005 HANGZHOU SITEOnsite Co原创 2013-08-15 23:37:12 · 533 阅读 · 0 评论 -
ZOJ3130 Shortest pair of paths 费用流
找起点到终点,两条点不重复权值之和最小的路径,拆点费即可可。注意判断满流Shortest pair of pathsTime Limit: 1 Second Memory Limit: 32768 KBA chemical company has an unusual shortest path problem.There are N depots原创 2013-09-03 00:24:54 · 468 阅读 · 0 评论 -
UVA12092 Paint the Roads 费用流
回寝室收衣服,被雨困住。顺手水一题题目要求每一个点都在k个环中(有向图)的最小费用。费用即边权。费用流拆点即可HPaint the RoadsInput: Standard InputOutput: Standard Output In a country there are n cities connected原创 2013-09-10 13:14:15 · 488 阅读 · 0 评论 -
ZOJ3760 Treasure Hunting 最小割+最大点权独立
没想到最小割Treasure HuntingTime Limit: 3 Seconds Memory Limit: 65536 KBGeorge is eager about treasure hunting. One day, he got a treasure map from God (It's the welfare from Go原创 2014-04-25 19:49:00 · 610 阅读 · 0 评论 -
POJ3346 Against Mammoths 二分匹配+二分
人类占据了nx个星球waixinfAgainst MammothsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 1660 Accepted: 540DescriptionBack to year 3024, human原创 2014-05-11 21:01:05 · 616 阅读 · 0 评论 -
UVA1376 Animal Run 平面图+最短路
此题关键字: 平面图 , 点带权图 , 最小割zh原创 2014-04-26 00:23:51 · 774 阅读 · 0 评论 -
POJ3680 Intervals 离散化+费用流
求yigeIntervalsTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 6241 Accepted: 2537DescriptionYou are given N weighted open intervals. The ith原创 2014-05-19 02:35:56 · 708 阅读 · 0 评论 -
HDU4081 Qin Shi Huang's National Road System 次小生成树
meigeQin Shi Huang's National Road SystemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2978 Accepted Submission(s): 1060原创 2014-04-26 23:19:26 · 817 阅读 · 0 评论 -
ZOJ2770 Burn the Linked Camp 差分约束
这是一道 最短路+差分约束差分约束我还不是很熟悉。但就是通过题目中给予我们的不等关系来写出不等式,这里不等式的形式是(xi-xj,他的权值是a,然后xi,和xj就分别代表最短路中从源点到点i(j)的最短路劲。然后我们在自己加入一个源点就可以吧差分约束的类型的题目转化成为一道最短路径的题目。以这道题目为例子。题目中给了我们每一个军营的上限,和从第i到第j个军营的人数下限,从而我们可以写出原创 2012-08-10 09:25:26 · 793 阅读 · 1 评论 -
POJ3538 Domestic Networks DP+MST
简单DPDP之前先求一个最小生成树状态转移f[i][j] 表示前i条边用了j单位的5号材料所用的最小花费f[i][j]=min(f[i][j],f[i-1][j-len]+len*c5)f[i][j]=min(f[i][j],f[i-1][j]+len*c6)然后回溯输出解就可以了内存有点吃紧要用滚动数组Domestic Networks原创 2013-08-14 23:41:38 · 683 阅读 · 0 评论 -
ZOJ3165 Party of 8g 最小割
输出方案dfs一下就可以了。Party of 8gTime Limit: 5 Seconds Memory Limit: 56797 KB Special JudgeAs all you know, DD is a hospitable person. On Saint Valentine's Day, DD is going to arra原创 2013-08-23 22:51:13 · 440 阅读 · 0 评论 -
UVA11090 Going in Cycle!! SPFA
在一个有向图中找一个平均距离最小的环。二分枚举平均最小距离,每次每条边减去这个距离,然后spfa(或者bellmanFord找负环)如果找到,说明平均最小距离比这个值要小,如果没找到,则说明平均最小距离比这个值大。I I U P C 2 0 0 6Problem G: Going in Cycle!!Input: st原创 2013-06-14 18:32:09 · 957 阅读 · 0 评论 -
UVA11478 Halum 差分约束
给一个点加D,的效果为以从该点发出的出边权值+D,所有进入该边的入边权值-D,现在要求使所有边权值为正,且最大的D。sum(a)表示节点a上D值之和得到不等式 对于 sum(a)-sum(b)+w(a,b)>=D 可以得到这个不等式,不等式怎么办?差分约束,最短路。注意要是图联通。所以加入0与每个点连权值为0最后二分枚举D,判断是否有负环,有则不符合要求。原创 2013-06-17 00:39:39 · 792 阅读 · 0 评论