随笔分类 -  图论

最短路, 拓扑排序,最小生成树,tarjian, 二分图匹配
摘要:题目传送门 1 /* 2 题意:给一个n个点,m条边的无向图,要求给m条边定方向,使得每个定点的出入度之差的绝对值小于等于1. 输出任意一种结果 3 图论:一个图,必定存在偶数个奇度顶点。那么从一个奇度定点深搜,当碰到另外一个奇度顶点时结束,这样能保证度数差12 #include 1... 阅读全文
posted @ 2015-08-05 21:18 Running_Time 阅读(206) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 二分图点染色:这题就是将点分成两个集合就可以了,点染色用dfs做, 剩下的点放到点少的集合里去 3 官方解答:首先二分图可以分成两类点X和Y, 完全二分图的边数就是|X|*|Y|.我们的目的是max{|X|*|Y|}, 并且|X|+|Y|=n. 4 修正... 阅读全文
posted @ 2015-07-26 10:02 Running_Time 阅读(338) 评论(4) 推荐(0)
摘要:题目传送门/* 题意:一无向图,问至少要割掉几条边破坏最短路,问最多能割掉几条边还能保持最短路 SPFA+Dinic:SPFA求最短路时,用cnt[i]记录到i最少要几条边,第二个答案是m - cnt[n] 最大流==最小割,套个Dinic模板,以后再理解... 阅读全文
posted @ 2015-07-22 20:27 Running_Time 阅读(244) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 KM: 相比HDOJ_1533,多了重边的处理,还有完美匹配的判定方法 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 const int MAXN =... 阅读全文
posted @ 2015-07-20 19:52 Running_Time 阅读(211) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 最小费用流:KM算法是求最大流,只要w = -w就可以了,很经典的方法 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 const int MAXN =... 阅读全文
posted @ 2015-07-20 19:50 Running_Time 阅读(345) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 KM:裸题第一道,好像就是hungary的升级版,不好理解,写点注释 3 KM算法用来解决最大权匹配问题: 在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接Xi,Yj有权w(i,j), 4 求一种匹配使得所有w(i,j)的和... 阅读全文
posted @ 2015-07-20 17:02 Running_Time 阅读(339) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 最短路: 不仅扫描边,还要扫描点;点有两种情况,一种刚好在中点,即从u,v都一样,那么最后/2 3 还有一种是从u,v不一样,两种的距离都是l 4 模板错了,逗了好久:( 5 */ 6 #include 7 #include... 阅读全文
posted @ 2015-07-19 21:37 Running_Time 阅读(208) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 二分图判定+点染色:因为有很多联通块,要对所有点二分图匹配,若不能,存在点是无法分配的,no 3 每一次二分图匹配时,将点多的集合加大最后第一个集合去 4 注意:n 7 #include 8 #include 9 #includ... 阅读全文
posted @ 2015-07-19 13:27 Running_Time 阅读(281) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 题意:三种人,statements,testdata,anthing。要求两个人能完成s和t两个工作,且rank相差2 3 二分图匹配:此题学习建图技巧,两个集和内部一定没有边相连,rank模4小于2和大于等于2的人才能搭配,并且相差正好2, 4 ... 阅读全文
posted @ 2015-07-18 16:14 Running_Time 阅读(314) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 匈牙利算法:这题比UVA_670简单,注意是要被吃的鼠的最少个数,套模板 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 con... 阅读全文
posted @ 2015-07-16 19:41 Running_Time 阅读(348) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 题意:bob按照指定顺序行走,他的狗可以在他到达下一个点之前到一个景点并及时返回,问狗最多能走多少个景点 3 匈牙利算法:按照狗能否顺利到一个景点分为两个集合,套个模板 4 */ 5 #include 6 #include 7 #inclu... 阅读全文
posted @ 2015-07-16 19:38 Running_Time 阅读(410) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 题意:*的点占据后能顺带占据四个方向的一个*,问最少要占据多少个 3 匈牙利算法:按坐标奇偶性把*分为两个集合,那么除了匹配的其中一方是顺带占据外,其他都要占据 4 */ 5 #include 6 #include 7 #include ... 阅读全文
posted @ 2015-07-16 19:29 Running_Time 阅读(198) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 题意:每次能消灭一行或一列的障碍物,要求最少的次数。 3 匈牙利算法:把行和列看做两个集合,当有障碍物连接时连一条边,问题转换为最小点覆盖数==二分图最大匹配数 4 趣味入门:http://blog.csdn.net/dark_scope/a... 阅读全文
posted @ 2015-07-16 19:23 Running_Time 阅读(289) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 题意:第i个人选择第a[i]个人,问组成强联通分量(自己连自己也算)外还有多少零散的人 3 有向图强联通分量-Tarjan算法:在模板上加一个num数组,记录每个连通分量的点数,若超过1,则将连通点数相加 4 用总点数-ans则是零散的点 5... 阅读全文
posted @ 2015-06-23 16:46 Running_Time 阅读(175) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 暴力:也是暴力过了,无语。无向图,两端点都要加度数和点 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 typedef long... 阅读全文
posted @ 2015-06-15 10:37 Running_Time 阅读(208) 评论(0) 推荐(0)
摘要:题目传送门题意:给出n个长度为7的字符串,一个字符串到另一个的距离为不同的字符数,问所有连通的最小代价是多少分析:Kuskal/Prim: 先用并查集做,简单好写,然而效率并不高,稠密图应该用Prim而且要用邻接矩阵,邻接表的效率也不高。裸题但题目有点坑爹:(Kruskal:#include #in... 阅读全文
posted @ 2015-06-13 16:58 Running_Time 阅读(209) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 题意:给出无向无环图,每一个点的度数和相邻点的异或和(a^b^c^....) 3 图论/位运算:其实这题很简单。类似拓扑排序,先把度数为1的先入对,每一次少一个度数 4 关键在于更新异或和,精髓:a ^ b = c -> a ... 阅读全文
posted @ 2015-06-11 19:50 Running_Time 阅读(159) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 图论/暴力:这是个连通的问题,每一次把所有度数为1的砍掉,把连接的点再砍掉,总之很神奇,不懂:) 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 con... 阅读全文
posted @ 2015-06-03 19:00 Running_Time 阅读(274) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 最小生成树(Kruskal):以权值为头,带入两个端点,自然的排序;感觉结构体的并查集很好看 3 注意:题目老头要的是两个农田的高度差,中文水平不好,题意理解成和平均值的高度差! 4 */ 5 #include 6 #include 7 #include... 阅读全文
posted @ 2015-06-01 17:51 Running_Time 阅读(309) 评论(0) 推荐(0)
摘要:题目传送门 1 /* 2 双拓扑排序:抄的,以后来补 3 详细解释:http://blog.csdn.net/u012774187/article/details/40736995 4 */ 5 #include 6 #include 7 #include 8 ... 阅读全文
posted @ 2015-05-22 21:05 Running_Time 阅读(170) 评论(0) 推荐(0)