
--------图论--------
文章平均质量分 81
M_GSir
这个作者很懒,什么都没留下…
展开
-
最短路变形(hdu 5521)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5521题意:两个人分别从1和n的城市出发,要求在途中的一个城市相遇并且在该城市开会,求所需要的最短时间,不一定要同时到达,可以一个人在一所城市等着另一个人,要求输出所有满足最小时间的最终开会城市。输入说明:输入t表示有多少组样例 输入n,m表示有多少城市n,接下来m行输入,原创 2016-10-24 20:02:01 · 596 阅读 · 0 评论 -
网络流最大流算法(ISAP算法及DINIC算法)
这些算法网络中解释都有,所有以下是根据题目应用,代码中有注释,方便理解,ISAP算法就是通过先bfs一遍建立逆序求层数,然后每次都进行维护求最短路来求增广路径,DINIC即是通过顺序,每次找最短路径前都进行一次层次的划分,再来求最短路增广路径,直至无法划分层次出现断层。下面用两个方法来做这道题,可以作为模板使用题目:http://acm.split.hdu.edu.cn/showproblem原创 2016-08-24 19:25:53 · 1248 阅读 · 0 评论 -
SPFA算法(o(e)求单源最短距离)
题目:http://poj.org/problem?id=1511题意:求从源点到每个点,再从每个点到源点的最短距离之和题解:spfa算法+邻接表存储代码:#include#include#include#include#include#include#define N 1000050#define MAX 0xFFFFFFFFFFusing namespac原创 2016-08-21 21:48:20 · 920 阅读 · 0 评论 -
最短路的变形(hdu 4725)
题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=4725题意:有N个点和N层,一层有X个点(0题解:将i层拆成两个点,一个点(N+2×i-1)对于本层的点来说只进不出,并且同层点到该点距离为0,但对于邻层来说只出不进,另一个点(N+2×i)对于本层的点来说只出不进,并且到本层任意点距离为0,但对邻层来说只进不出,这样保证了同层无法通过这原创 2016-08-23 10:32:13 · 598 阅读 · 0 评论 -
拓扑排序(栈模拟)+dfs(hdu 5438)
题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=5438题意:有一些带权的池塘,池塘间用管道连接,要求去掉剩下池塘中度数题解:先利用拓扑方法,利用栈,将所有度数代码:#include#include#include#include#include#includeusing namespace std;int va原创 2016-09-17 10:30:49 · 998 阅读 · 0 评论 -
并查集(hdu 5441)
题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=5441题意:给定一些城市,城市间带距离的路连接,一个懒人要去旅游,带不想走太远,给定一个最大忍耐距离,要求他去的城市间不能超过这个距离,a-->b算一条,反过来也算,如果3个城市联通的,那他可以去的城市为3*2=6,不联通的不算一起,分开算相加题解:先根据输入的查询和边距进行排序,从小到原创 2016-09-17 10:54:36 · 485 阅读 · 0 评论 -
图论之二分匹配(好博客汇总)
二分匹配好博客:http://blog.youkuaiyun.com/xu3737284/article/details/8973720,https://www.byvoid.com/blog/hungaryhttp://blog.youkuaiyun.com/thundermrbird/article/details/52231639匈牙利算法可以解决的图的问题:(二分图)1.图的最小点覆盖数 = 图的原创 2016-10-08 22:27:48 · 473 阅读 · 0 评论 -
二分匹配续(hdu 1845,hdu 2063)
题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=1845题意:给一些无向的无环连线,求最大匹配题解:最大匹配,两种算法(hk算法和匈牙利算法)代码:匈牙利算法:#include#include#include#include#include#includeusing namespace std;const in原创 2016-10-10 23:52:29 · 363 阅读 · 0 评论 -
强连通分量(强连通缩点(tarjan))+最小路径覆盖(匈牙利算法)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3861题意:王国划分区域,每个城市间的路是有方向的,要求每个区域满足:1.存在环路的必定在一个区域内。2.一个区域中的城市必定满足两两之间有一个可以到达另一个,求可以划分的区域数题解:对于第一个条件即是要求出图中的环路缩点,即用tarjan算法进行强连通分量的计算,对于第二个条件即是求最小路径覆盖原创 2016-10-17 22:40:20 · 602 阅读 · 0 评论 -
2-sat(求最小字典序 hdu 1814)
2-sat:http://blog.youkuaiyun.com/swm8023/article/details/6952741,http://www.doc88.com/p-0012079707313.html2-sat 问题一般可以简化成每对(两个)元素中必须选一个,并且每对元素间有关系,比如两对元素中x1,x2和y1,y2中必须存在x1与y1矛盾,即满足选了x1必选y2,选了y1必选x2(因为每对必原创 2016-10-21 23:26:30 · 1240 阅读 · 0 评论 -
2-sat(强连通分量求法一 判断是否存在解法)
好博客链接:http://www.cnblogs.com/ambition/archive/2011/07/30/2-sat.html(内有ppt讲解、题集、论文)建图如上篇一样,主要不同是上篇利用暴力来求,但上篇可以保证按字典序最小进行输出,此处利用了比较好的算法,产生了o(m)的复杂度,应用于所有题,主要思路是利用了图的对称的原理,根据建图后可知,若存在强连通图,则其中选择了一个,其他点也原创 2016-10-23 21:57:55 · 1662 阅读 · 0 评论 -
2-sat(Tarjan算法+二分)
此博客是指一类2-sat的题目,需要通过二分,将答案不断精确化判断是否存在解来得出最临近临界值的解,具体见题。题目:http://acm.hdu.edu.cn/showproblem.php?pid=3622题意:一个人在玩游戏,这个游戏的规则是每次给两个点x1,y1,x2,y2,每次只能选择其中的一个点,然后以所有选择的点为圆心做同样大小的圆,这些圆可以相切,但不可以相交,求圆半径的原创 2016-10-23 22:21:39 · 879 阅读 · 0 评论 -
2-sat(任意可能性输出o(n))
该类问题算法的主要思路:1.建图(方法前面已说)2.tarjan算法、判断可行性、缩点、逆序建边(这个暂时没懂)3.拓扑排序染色4.输出具体模板见下:题目:http://poj.org/problem?id=3648题意:有一对新人结婚,邀请n对夫妇去参加婚礼。有一张很长的桌子,人只能坐在桌子的两边,还要 满足下面的要求:1.每对夫妇不能坐在同一侧 2.原创 2016-10-23 23:02:01 · 783 阅读 · 0 评论 -
KM算法(完备匹配下的最大权匹配)
KM算法求的是完备匹配下的最大权匹配: 在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接XiYj有权wij,求一种匹配使得所有wij的和最大。题目:http://acm.hdu.edu.cn/showproblem.php?pid=2255题意:分房子,对于n个人对n所房子有自己的最大承受价格,要求每个人分到一所房子,并且要求收入最大输入说明:输入n,代表n个人和n所房子原创 2016-10-24 09:22:16 · 2421 阅读 · 0 评论 -
最小生成树(Prim和Kruskal算法)
Prim和Kruskal也称作加点法和加边法题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=1102题意:给定一个矩阵距离,并给定一些固定的要求加进去的距离,求还要加进去多少距离,从而构成最小生成树。题解:只要把固定的距离设置为0,然后用正常的算法求解即可代码:#include#include#include#incl原创 2016-08-21 21:15:02 · 615 阅读 · 0 评论