(KM)二分图
文章平均质量分 51
Grit_ICPC
Dielts
展开
-
HOJ 3729 I'm Telling the Truth
Problem DescriptionYou are given a string S consisting of lowercase letters, and your task is counting the number of substring that the number of each lowercase letter in the substring is no more th原创 2015-08-23 20:08:04 · 789 阅读 · 0 评论 -
HDU 2444 The Accomodation of Students(判断二分图&染色法)
题目大意:给定一些关系,问能有没有最大匹配。思路:二分图匹配,用染色法判断奇环(因为二分图不会有奇环)#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define LL lon原创 2016-02-20 15:13:10 · 392 阅读 · 0 评论 -
POJ 1463 ||HDU 1054 Strategic game(二分图最小顶点覆盖)
思路:直接跑一个KM,最后答案/2#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define LL __int64#define inf 0x3f3f3f3fconst原创 2016-02-24 11:21:24 · 512 阅读 · 0 评论 -
盒子嵌套问题 (二分图||费用流)
题目大意:给定n个盒子,并且有们的长宽,一个盒子可以放到 另一个长宽<=自己长宽的盒子中,求最会的最小占地面积。思路:可以用二分匹配做,按照面积排序,注意和按照边长排序的区别,然后从大到小进行匹配(因为先要把大的进行匹配之后才匹配小的,否则小的匹配完了之后剩下下对面积大的盒子占地也会多)#include <iostream>#include <cstring>#include <cstdio>原创 2016-03-23 23:21:03 · 1292 阅读 · 0 评论 -
FZU 1341 & POJ 2536 (二分图)
#include<map>#include<queue>#include<cmath>#include<cstdio>#include<stack>#include<iostream>#include<cstring>#include<algorithm>#define LL int#define inf 0x3f3f3f3f#define eps 1e-8#include<v原创 2016-04-27 16:51:42 · 359 阅读 · 0 评论 -
HDU HDU 2255 奔小康赚大钱 (KM最大权)
KM模板:#include<map>#include<queue>#include<cmath>#include<cstdio>#include<stack>#include<iostream>#include<cstring>#include<algorithm>#define ll long long#define inf 0x3f3f3f3f#define eps 1e-8原创 2016-04-19 17:56:04 · 351 阅读 · 0 评论 -
HDU 2768 Cat vs. Dog (二分图)
大意:给定v组cx与dx(表示喜欢cx不喜欢dx)或dx,cx问在v个人中最后还剩下多少人。思路:既然是算最后剩下最多数目的人,那么我们可以对有矛盾的两个人建边(即结果是他们的满意度是最低的)。找到了这些人的个数sum,ans=v-sum/2,即匹配数。#include<map>#include<queue>#include<cmath>#include<cstdio>#include<st原创 2016-04-22 15:33:45 · 401 阅读 · 0 评论 -
HDU 4160 Dolls (二分图)
PS:类似于盒子问题,给定盒子的长宽高的大小,只不过多了一个高。#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;struct node{ int l,h,w;}q[601];int mp[601][601];bool op(node a,n原创 2016-04-22 16:11:24 · 361 阅读 · 0 评论 -
HDU 2389 Rain on your Parade (HK二分图)
大意:给定时间t,并且n个人的坐标,然后有伞的坐标求最少有多少人不被淋湿。hk算法模板。#include<map>#include<queue>#include<cmath>#include<cstdio>#include<stack>#include<iostream>#include<cstring>#include<algorithm>#define ll long long原创 2016-04-24 14:08:24 · 391 阅读 · 0 评论 -
HDU 4751 Divide Groups(判断二分图)
大意:第I行有若干个数k,且以0作为结尾,含义是第I人和k认识,(但是k不一定认识I)。问能不能将相互认识的人分两组。思路:就是判断二分图,建图是两个不相认识的人相连(不连接就是认识的)。#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include原创 2016-02-21 10:39:17 · 506 阅读 · 0 评论 -
HDU 4004 The Frog's Games (二分)
题目大衣:给定长度为L,n个石头在河中,至少跳m次。求出青蛙最少能够每次最少跳多少才能过河。思路:二分枚举青蛙的跳越的长度,然后记录当前的步数,和步数上界比较一下即可,注意如果最后一块石头和岸边的距离还是大于当前能够跳的能力的话,就需要枚举右侧。否则减小能力看是否满足。VG$"+y#include<algorithm>#include<cmath>#include<queue>#includ原创 2016-03-17 17:05:23 · 398 阅读 · 0 评论 -
POJ 1087 A Plug for UNIX(Dinic)
思路:设一个超源和超汇,分别连向用电器和插座,那么n个插座就要和汇点相连,所以汇点设的尽可能的大。m个用电器和插头,就要连在一起,且超源与用电器相连,(以上都是一一对应cap为1),最后适配器之间相连,因为适配器有无数个所以cap为inf;然后一边最大流即可。#include#include#include#include#include#include#include原创 2016-01-21 10:41:09 · 401 阅读 · 0 评论 -
Machine Schedule HDoj (二分图最小顶点覆盖--最大匹配数)
Machine ScheduleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6865 Accepted Submission(s): 3446Problem DescriptionAs we all kno原创 2015-08-03 20:57:10 · 652 阅读 · 0 评论 -
Poj Asteroids(最小顶点覆盖)
AsteroidsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 17456 Accepted: 9498DescriptionBessie wants to navigate her spaceship through a dangerous asteroi原创 2015-08-04 08:42:36 · 537 阅读 · 0 评论 -
uva 7008 The 2014 ACM-ICPC Asia Mudanjiang Regional Contest 【部分题解】
这题刚上来反应像是二分图但是,自己水平太渣又感觉和之前的二分不同,但是的确时二分图(- -! 一变化就不认识了).注意此题的储存方式用前向星,对于二分图都是点与点之间的关系所以将直线和曲线都要转化为两种集合的形式.那么一种是比值的形式一种是,半径的形式,毕竟不是规律的点对点,所以借助map容器来进行将浮点转化为整数的形式 #include #include #include #i原创 2015-10-07 21:19:39 · 481 阅读 · 0 评论 -
HDU 2063 过山车(二部图)
#include#include#include#include#define inf 0x3f3f3f3fusing namespace std;int Map[600][600],cropath[600];bool use[600];int n,m;int DFS(int v){ int i,j,k; for(i=1;i<=m;i++) {原创 2015-10-13 19:53:00 · 384 阅读 · 0 评论 -
HDU 1281 棋盘游戏 (二分图+枚举每点是否为匹配关键)
思路:容易看出是二分图的最大匹配问题,但是如何判断某点是否为关键点是关键。我们可以将每个可能的点枚举一下然后进行删点,判断删点后的最大匹配是否仍等于原来的最大匹配即可。#include#include#include#include#includeusing namespace std;int head[1000],cropath[1000],s,a[1000],b[1原创 2015-10-14 15:14:29 · 502 阅读 · 0 评论 -
POJ 2466 Chessboard(二分图+前向星)
思路:和之前的建立网络战的题目类似,就是通过当前的合要求的点开始向四周寻找,若四周有合格的便将他们建立关系。注意其中的边界处理#include#include#include#include#define inf 0x3f3f3f3fusing namespace std;int Map[2000][2000],cropath[6000],id[2000][2000],he原创 2015-10-13 23:48:46 · 488 阅读 · 0 评论 -
Poj 3020 Antenna Placement (二分图最小路径覆盖)
Antenna PlacementTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7517 Accepted: 3729DescriptionThe Global Aerial Research Centre has been allotted the tas原创 2015-08-08 19:47:28 · 687 阅读 · 0 评论 -
POJ 1087&&HDU 1526 A Plug for UNIX (二分图+Floyd传递闭包 )
题目大意: 有n个插座,下边n行分为为插座的类型,m个电器,m行分别代表电器的名称和插头的类型.最后,有k行数据每组,对应适配器的插座和插头的类型. 思路:将所有的插座,插头编上序号,同时给自己也要标记上插座和插头(均是自身和自身间的关系),然后给,适配器的插座和插头建立联系.之后进行Floyd的传递闭包链接有间接性关系图.最后匹配,但注意要进行"编号"与"编号"之间的原创 2015-10-14 21:49:43 · 520 阅读 · 0 评论 -
FZU 1202 信与信封问题
大意: x,y表示信x不会再信封y中,那么有多少匹配能唯一匹配可能。思路:就是判断匹配线是不是关键匹配。(类似关键点的判断)。只不过还需要一个cro[],来存储当前数组下标和那个点匹配的(下标为信,数值为信封的编号)。#include<iostream>#include<cstring>#include<queue>#include<cstdio>#define inf 0x3f3f3f3原创 2016-04-24 20:21:03 · 495 阅读 · 0 评论