题意:M*N的矩阵,每个格子上是三个之一:*、o、#。 (1 graph[2505];int findPath(int u){ int L=graph[u].size(); rep(i,0,L-1){ int v=graph[u][i]; if(!bma...
分类:
其他好文 时间:
2014-11-11 14:15:45
阅读次数:
194
/*匈牙利算法DFS版*/const int MAXN=300; //最大顶点数bool bmap[MAXN][MAXN]; //二分图bool bmask[MAXN]; //寻找增广路径时的标志数组int nx,ny; ...
分类:
其他好文 时间:
2014-11-10 21:22:24
阅读次数:
307
题意:给你N个数,a1,,,,an。代表第i个管子里有ai个珍珠。规定只能往每根管里增加k的倍数个珍珠。如果存在一套操作,操作完毕后可以得到1~N的一个排列,则Jerry赢,否则Tom赢。问谁赢。思路:将a1...an从小到大排序,可知道每根管里的数只能增不能减。将最后的1...N中的每个数一定是由...
分类:
其他好文 时间:
2014-11-09 17:53:30
阅读次数:
166
题意:p个人 每一个人有喜欢和讨厌的动物 假设选出的动物中包括这个人喜欢的动物同一时候不包括他讨厌的动物那么这个人会开心 问 最多几个人开心思路:二分图最大独立集 利用人与人之间的冲突建边 求最大匹配就可以注意:题中的例子给出动物的名字是D1、C1之类的 事实上名字可能比这个长… 所以数组开长点代码...
分类:
其他好文 时间:
2014-11-07 18:59:34
阅读次数:
204
题目大意:给定一个n*n的网格图,要在0的位置上放置一些攻击装置,其中一个攻击装置的攻击范围是周围8个“日”字形区域,要求不能互相攻击,求最多放置多少个攻击装置
每两个能互相攻击且能放置的点连一条双向边,然后跑二分图最大点独立集即可
4W个点n^2居然没TLE 是数据太弱还是匈牙利算法太强了?
#include
#include
#include
#include
#define M 210...
分类:
其他好文 时间:
2014-11-07 14:56:30
阅读次数:
126
裸的最大匹配。 1 #include 2 #include 3 #include 4 using namespace std; 5 vectorG[2002]; 6 typedef vector::iterator ITER; 7 int n,m,mat[2002],x,y; 8 bool vis[...
分类:
编程语言 时间:
2014-11-06 17:24:14
阅读次数:
201
题目大意:闯关答题,每一个题可以用两个trick中的一个来解决,一个trick最多只能使用一次,问最多可以连续答对多少题。
思路:我一开始就想到了二分图最大匹配,但是思路完全想歪了。我看每个题有两个trick可以用,就用这个来拆点建图,显然是错的。。
正确的是用每个题和每个trick来建边,来一个问题就建两条边,然后看能不能找到增广路,如果不能就无法答对这个题,输出。
COD...
分类:
其他好文 时间:
2014-11-06 14:53:51
阅读次数:
195
题目大意:一个n*m的棋盘,某些格子不能用,问用1*2的骨牌能否完全覆盖这个棋盘,当然,骨牌不能有重叠思路:显然黑白染色后,一个骨牌只能覆盖一个白色格子和一个黑色格子,然后我们间二染色建图,看能否有完美匹配即可TUT#include #include #include #define maxn 10...
分类:
其他好文 时间:
2014-11-06 12:46:08
阅读次数:
215
题意很简单,在一颗树上找最小点覆盖。将树染成黑白两色,构成一张二分图,然后最大匹配==最小点覆盖即可,所以一次匈牙利就可以求出来了hdu1054#include #include #include #include #include #include #include #include #inclu...
分类:
其他好文 时间:
2014-11-06 00:29:35
阅读次数:
275
一般图最大匹配带花树+暴力:
先算最大匹配 C1
在枚举每一条边,去掉和这条边两个端点有关的边.....再跑Edmonds得到匹配C2
如果C2+2==C1则这条边再某个最大匹配中
Boke and Tsukkomi
Time Limit: 3000/3000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Ot...
分类:
其他好文 时间:
2014-11-05 23:20:14
阅读次数:
476