二分图模板,剩下的就是建图的过程。
int dfs(int a)
{
int i;
for(i=0;i<n;i++)
{
if(!vis[i]&&mapp[a][i])
{
vis[i] = 1;
if(dis[i]==-1||dfs(dis[i]))
{
...
分类:
其他好文 时间:
2014-08-15 16:08:19
阅读次数:
194
解题报告
题目传送门
题意:
一个小镇,所有的街道都是单向的,这些街道都是从一个十字路口通往另一个十字路口,已知从任何十字路口出发,沿着这些街道行走,都不能回到同一个十字路口,也就是说不存在回路。
计算攻击这个小镇需要派的伞兵最少数目,这些伞兵要走遍小镇的所有十字路口,每个十字路口只由一个伞兵走到。每个伞兵在一个十字路口着陆,沿着街道可以走到其他十字路口。
思路:
用最小的伞兵覆盖街道...
分类:
其他好文 时间:
2014-08-15 16:06:48
阅读次数:
275
解题报告
题意:
n个巫师m个魔杖,每个魔杖可以被不同的巫师使用。求多少个魔杖会被买。
思路:
二分图最大匹配简单题。
#include
#include
#include
using namespace std;
int mmap[110][110],n,m,vis[110],pre[110];
int dfs(int x) {
for(int i=1; i<=n; i...
分类:
其他好文 时间:
2014-08-15 16:02:39
阅读次数:
258
题目地址:HDU 1498
晕啊。。。三个人同时做的这个题,结果全都理解错意思了。。而且每个人理解错的地方还都不一样。。但是样例还都能过,。。。简直炫酷。。。
题意:n*n的矩阵放置不同的颜色(不同的数字代表不同的颜色),你有k次选择,每一次只能选择某一行或某一列,可以消除该行(列)的所有颜色,问有哪几种颜色,无论怎样经过k次选择后依然无法完全抹去。
这个题的思路就是分别求出每种颜色的最少操...
分类:
其他好文 时间:
2014-08-15 14:45:58
阅读次数:
174
解题报告
题意:
给你一个矩阵,矩阵里面是气球,气球有1-50种颜色,问你在k次之内能不能把那种存在的颜色消掉(每种颜色k次机会),不能消掉的颜色按升序输出。
思路:
白想一上午了,理解错了题意,原来每种有k次可以消除的机会,还以为是总共k次机会消气球。
理解对了就很好做,类似POJ3041
求最小点覆盖。用最少的点覆盖最多的边。
每次枚举颜色看是否操作次数超过k次。
英语。。。。...
分类:
其他好文 时间:
2014-08-15 14:45:00
阅读次数:
239
50 years, 50 colors
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1617 Accepted Submission(s): 881
Problem Description
On Octorber...
分类:
其他好文 时间:
2014-08-15 14:43:38
阅读次数:
213
思路:先把所有的串连接成一个串,串写串之前用没出现过的字符隔开,然后求后缀;对height数组分组二分求得最长的公共前缀,公共前缀所在的串一定要是不同的,不然就不是所有串的公共前缀了,然后记下下标和长度即可。
刚开始理解错题意,然后不知道怎么写,然后看别人题解也不知道怎么意思,后面看了好久才知道题目意思理解错了。
时间四千多ms,别人才一百多ms,不知道别人怎么做的……
#include
#...
分类:
其他好文 时间:
2014-08-15 14:42:29
阅读次数:
277
HDU 3264 Open-air shopping malls(圆相交面积+二分)
ACM
题目地址:HDU 3264 Open-air shopping malls
题意:
给出一些圆,选择其中一个圆的圆心为圆心,然后画一个大圆,要求大圆最少覆盖每个圆的一半面积。求最小面积。
分析:
枚举每个点,用二分求出需要的圆,更新最小值即可。
其中用到了圆相交面积,可...
分类:
其他好文 时间:
2014-08-15 12:56:48
阅读次数:
181
这个题目是说,有n个女的和男的找伴侣。然后女的具有主动选择权,每个女的可以选自己喜欢的男的,也可以挑选k个不喜欢的男的,做法就是:把女的拆点,u1->u2建立一条容量为k的边。如果遇见喜欢的男生i->j+2*n建一条容量为1的边,否则i+n->j+2*n建一条容量为1的边。最后将源点和女生相连容量为mid,汇点与男生相连容量为mid。枚举mid,看是否会产生满流。
可能姿势不够优美dinic超时...
分类:
其他好文 时间:
2014-08-15 09:29:48
阅读次数:
287
解题报告
题目传送门
题意:
求最大的男女匹配数目。
思路:
简单的最大匹配。
#include
#include
#include
using namespace std;
int k,n,m,mmap[1100][1100],vis[550],pre[550];
int dfs(int x)
{
for(int i=1;i<=n;i++){
if(!v...
分类:
其他好文 时间:
2014-08-15 00:07:56
阅读次数:
262