码迷,mamicode.com
首页 >  
搜索关键字:二分    ( 14969个结果
二分图基础--Girls and Boys
二分图模板,剩下的就是建图的过程。 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
HDU1151_Air Raid(二分图/最小路径覆盖=n-最大匹配)
解题报告 题目传送门 题意: 一个小镇,所有的街道都是单向的,这些街道都是从一个十字路口通往另一个十字路口,已知从任何十字路口出发,沿着这些街道行走,都不能回到同一个十字路口,也就是说不存在回路。 计算攻击这个小镇需要派的伞兵最少数目,这些伞兵要走遍小镇的所有十字路口,每个十字路口只由一个伞兵走到。每个伞兵在一个十字路口着陆,沿着街道可以走到其他十字路口。 思路: 用最小的伞兵覆盖街道...
分类:其他好文   时间:2014-08-15 16:06:48    阅读次数:275
HDU1179_Ollivanders: Makers of Fine Wands since 382 BC.(二分图/最大匹配)
解题报告 题意: 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 50 years, 50 colors(二分最大匹配之最小点覆盖)
题目地址:HDU 1498 晕啊。。。三个人同时做的这个题,结果全都理解错意思了。。而且每个人理解错的地方还都不一样。。但是样例还都能过,。。。简直炫酷。。。 题意:n*n的矩阵放置不同的颜色(不同的数字代表不同的颜色),你有k次选择,每一次只能选择某一行或某一列,可以消除该行(列)的所有颜色,问有哪几种颜色,无论怎样经过k次选择后依然无法完全抹去。 这个题的思路就是分别求出每种颜色的最少操...
分类:其他好文   时间:2014-08-15 14:45:58    阅读次数:174
HDU1498_50 years, 50 colors(二分图/最小点覆盖=最大匹配)
解题报告 题意: 给你一个矩阵,矩阵里面是气球,气球有1-50种颜色,问你在k次之内能不能把那种存在的颜色消掉(每种颜色k次机会),不能消掉的颜色按升序输出。 思路: 白想一上午了,理解错了题意,原来每种有k次可以消除的机会,还以为是总共k次机会消气球。 理解对了就很好做,类似POJ3041 求最小点覆盖。用最少的点覆盖最多的边。 每次枚举颜色看是否操作次数超过k次。 英语。。。。...
分类:其他好文   时间:2014-08-15 14:45:00    阅读次数:239
hdu1498--50 years, 50 colors(二分匹配,题意。。。)
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
POJ 3294 后缀数组:求不小于k个字符串中的最长子串
思路:先把所有的串连接成一个串,串写串之前用没出现过的字符隔开,然后求后缀;对height数组分组二分求得最长的公共前缀,公共前缀所在的串一定要是不同的,不然就不是所有串的公共前缀了,然后记下下标和长度即可。 刚开始理解错题意,然后不知道怎么写,然后看别人题解也不知道怎么意思,后面看了好久才知道题目意思理解错了。 时间四千多ms,别人才一百多ms,不知道别人怎么做的…… #include #...
分类:其他好文   时间:2014-08-15 14:42:29    阅读次数:277
HDU 3264 Open-air shopping malls(圆相交面积+二分)
HDU 3264 Open-air shopping malls(圆相交面积+二分) ACM 题目地址:HDU 3264 Open-air shopping malls 题意:  给出一些圆,选择其中一个圆的圆心为圆心,然后画一个大圆,要求大圆最少覆盖每个圆的一半面积。求最小面积。 分析:  枚举每个点,用二分求出需要的圆,更新最小值即可。  其中用到了圆相交面积,可...
分类:其他好文   时间:2014-08-15 12:56:48    阅读次数:181
HDU 3277 Marriage Match III(拆点+二分+最大流SAP)
这个题目是说,有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
HDU2063_过山车(二分图/最大匹配)
解题报告 题目传送门 题意: 求最大的男女匹配数目。 思路: 简单的最大匹配。 #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
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!