黑书上说用二分图的知识来解,但我想不出来,只好找规律发现,一条柱时为1,两条柱时为4。三条柱时为8。。这些1,3,7,11的数字加1后,都是下一条柱的最底部的数字,而且一条柱的数字之和总是按照这样的规律。1^2,2^2,3^2,4^2......所以。。 1 #include 2 #include....
分类:
其他好文 时间:
2014-06-29 00:32:08
阅读次数:
294
http://acm.hdu.edu.cn/showproblem.php?pid=2970P个小朋友喜欢猫讨厌狗,喜欢狗讨厌猫,移除一定数量的猫狗,使开心的小朋友数量最多二分图最大独立集=顶点数-二分图最大匹配对喜好冲突的小朋友连边,因为对小朋友建图拆了点,求出的最大匹配要除以2和hdu 1068...
分类:
其他好文 时间:
2014-06-28 13:47:21
阅读次数:
190
二部图
难度:★★
二分图是图论中的一种特殊模型,指顶点可以分成两个不相交的集使得在同一个集内的顶点不相邻(没有共同边)的图。
下图是一个二分图的例子,红点之间不会相邻,白点之间不会相邻。
判断图中是否存在环
难度:★★
通过深搜就可以解决了。
欧拉环
...
分类:
其他好文 时间:
2014-06-18 07:49:35
阅读次数:
199
http://acm.hdu.edu.cn/showproblem.php?pid=2813裸二分图最优匹配,需要用两个map把武将名字映射到点的序号上#include #include #include #include using namespace std;const int N=210;co...
分类:
其他好文 时间:
2014-06-15 17:21:24
阅读次数:
179
题目来源:HDU 2444 The Accomodation of Students
题意:n个人是否可以分成2组 每组的人不能相互认识 就是二分图判定 可以分成2组 每组选一个2个人认识可以去一个双人间 最多可以有几组
思路:二分图判定+最大匹配
#include
#include
#include
using namespace std;
const int maxn = ...
分类:
其他好文 时间:
2014-06-15 15:09:16
阅读次数:
142
这题原来以为是某种匹配问题,后来好像说是强连通的问题。做法:建图,每个方老师和它想要的缘分之间连一条有向边,然后,在给出的初始匹配中反向建边,即如果第i个方老师现在找到的是缘分u,则建边u->i。这样求出所有的强连通分量,每个强连通分量中方老师和缘分的数目一定是相等的,所以每个方老师一定可以找到与他...
分类:
其他好文 时间:
2014-06-15 12:10:42
阅读次数:
198
二分图最大匹配的匈牙利算法模板题。由题目易知,需求二分图的最大匹配数,采取匈牙利算法,并采用邻接表来存储边,用邻接矩阵会超时,因为邻接表复杂度O(nm),而邻接矩阵最坏情况下复杂度可达O(n^3)。代码:#include #include #include #include #include #in...
分类:
其他好文 时间:
2014-06-15 11:53:19
阅读次数:
207
这题一看就应该知道是二分图匹配……我记得有个类似的题有一个并查集的解法,但是我找不到了…… 1 var
i,n,m:longint; 2 p:array[0..1500] of longint; 3 v:array[0..1500] of boolean; 4
a:array...
分类:
其他好文 时间:
2014-06-08 21:35:20
阅读次数:
297
首先黑点和白点是组成一个二分图这毫无疑问关键是题目中要求的所有黑白配的线不能交叉。。。一开始我也没想到这个怎么转化为二分图里面的算法。后来看书才知道,如果两两交叉,则可以把两根线当四边形的对角线,连四边形的两条边,则肯定不交叉,而且一个很明显的特征是,不交叉的两条线的他们的长度和
一定比交叉线的长度...
分类:
其他好文 时间:
2014-06-05 16:09:30
阅读次数:
263
一开始还没看懂这个算法,后来看了陶叔去年的PPT的实例演示才弄懂用一个lx[]和ly[]来记录X和Y集合中点的权值,有个定理是
lx[i]+ly[j]==w[i][j](边权值) 则该点是最佳匹配,因为首先
那个不等式肯定要>=的,否则就不满足题意了,如果是>则可以去匹配更有价值的边或者把权值降下来...
分类:
其他好文 时间:
2014-06-05 15:55:49
阅读次数:
213