URAL - 1949 The Best Picture in the Galaxy

传送门:http://acm.timus.ru/problem.aspx?space=1&num=1949 题意 : k 个学生去看n个电影,每个电影有自己的开始时间,结束时间和女演员数目,并且,要保证一个学生同时不能看两场电影,其次,学生看的第i+1个电影的女演员数目要不小于他看的第i...

2015-08-15 13:59:20

阅读数:436

评论数:0

UVALive - 6322 The Swapping Game

题意:给一个串以及串中每个字符可以交换的字符是谁,然后一次只可以交换两个字符, 可以交换零次或者多次。求合理的字典序最小的字符串 input:T -〉有多少组数据,初始串str, 接下来n(n = |str|)行,第i行表示第str中第i个字符可以替换成哪几个字符, output: 如果没有一...

2015-08-15 13:48:07

阅读数:225

评论数:0

Optimal Milking

有一些牛,和一些牛奶站,没个牛奶站每天最多收M只牛奶的牛, 怎样安排可以是所有牛到牛奶站的最长路径最短      思路:         路径最短-》最短路        求最大值最小 -》 二分         牛 -》 牛奶站 多值匹配        but这个题二分取值上限要取好,...

2015-03-31 07:54:54

阅读数:203

评论数:0

Cat VS Dog

这个题转换思维有挺巧妙,我们首先要抽象出两个对立的集合,然后找出他们的关系,其实题中已经有暗示了,他说喜欢狗的人不喜欢的一定是猫,喜欢猫的人一定不喜欢狗,假若我们相用猫狗建图, 那么我们可以向下边的含义是什么呢,是对立关系么,似乎跟我们想求得答案没什么太大关系,那么我们换一个角度,想要开心的人最多...

2015-03-26 00:08:27

阅读数:949

评论数:0

Treasure Exploration

裸地求最大匹配 #include #include #include #include using namespace std; #define MAXN 666 bool gra[MAXN][MAXN], vis[MAXN]; int cx[MAXN], cy[MAXN]; ...

2015-03-26 00:02:25

阅读数:301

评论数:0

Air Raid

一个有向图,且我们要注意一句话. Each paratrooper lands at an intersection and can visit other intersections following the town streets. 所以我们要先把所有能通向的点都连上边,然后最小点覆盖 ...

2015-03-26 00:00:57

阅读数:349

评论数:0

Strategic Game

其实这道题完全可以用树形DP做, 为了练习匹配问题就用匹配做了, 这个就是求最小点覆盖, 就一个裸地求最大匹配然后用N-最大匹配就好了,因为无向,所以双向边,然后求出来的最大匹配/2就是我们真正的匹配数 #include #include #include #include #i...

2015-03-25 23:59:20

阅读数:209

评论数:0

Antenna Placement

就是二分图匹配, 要求把每一个*都能盖上的最小DAir antennas的数目, 那么我们首先先把能共用的数目求出来,就是求最大匹配, 然后用总数减去可以跟别人共用的数目就是我们必须使用的最小数目 #include #include #include #include using ...

2015-03-25 00:38:28

阅读数:211

评论数:0

Rain on your Parade

这道题其实就是一个Hopcroft-Carp模板题 在匈牙利算法中,我们每次寻找一条增广路来增加匹配集合M.可以证明,每次找增广路的复杂度是O(E),一共需要增广O(V)次,因此总时间复杂度为O(VE).为了降低时间复杂度,在Hopcroft Karp算法中,我们在增加匹配集合M时,每次寻找多...

2015-03-25 00:04:49

阅读数:208

评论数:0

Swap

首先我们要想明白一点,主对角先一定是  i == j 的点是marix[i][j]1, 也就是第I行必须要跟第I列匹配, 那么这道题就变成了一个二分图匹配问题     如果   i行可以跟I列匹配, 那么一定有解, 也就是最大匹配数一定等于矩阵行数     #include #in...

2015-03-25 00:02:33

阅读数:172

评论数:0

棋盘游戏

就是判断下那个节点会影响匹配,那么我们就依次枚举好了,我们先求出最大匹配,然后以检测点是不是关键点 #include #include int map[105][105],pre[105],vis[105]; int n,m; int hungry(int u) { int...

2015-03-24 23:57:15

阅读数:205

评论数:0

Courses

模板题 #include #include #include #include #include using namespace std; #define MAXN 300 int match[MAXN]; bool vis[MAXN], gra[MAXN][MAXN]; int p...

2015-03-24 23:55:47

阅读数:178

评论数:0

The Accomodation of Students

典型的二分图最大匹配题 我们要先判断这个图是不是二分图,可以用染色法来实现 #include #include #include #include using namespace std; #define MAXN 222 bool gra[MAXN][MAXN],...

2015-03-24 23:54:05

阅读数:248

评论数:0

Fire Net

#include #include #include using namespace std; char str[5][5]; int n, ans; bool check( int x, int y) { for( int i = x - 1; i >= 0; i--) ...

2015-03-24 23:53:02

阅读数:248

评论数:0

Oil Skimming

很简单一个二分图题,可是我RE+MLE + WA了将近40次 百思不得其解的问题 当我直接在char 数组上存放序号就是RE, 而当我用另一个数组存放序号就是AC WHY???????? RE代码 #include #include #include using ...

2015-03-24 23:51:51

阅读数:186

评论数:0

Courses

裸地二分匹配 #include #include #include #include #include using namespace std; #define MAXN 300 int match[MAXN]; bool vis[MAXN], gra[MAXN][M...

2015-03-21 23:49:15

阅读数:179

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭