把每一个任务看做一个边,机器的模式看做是一个点,这个其实就是求一个最少点覆盖所有边即最小点覆盖集的问题,因为最小点覆盖集=二分图的最大匹配,所以问题转化成了求二分图最大匹配问题。第一次写二分图匹配,感觉建模还是相当困难的。#include #include #include #include #in...
分类:
其他好文 时间:
2014-07-31 13:10:56
阅读次数:
212
解题报告
题目传送门
题意:
N个电影,每个电影在每一周有固定拍映时间,电影必须在W周前演完。有一个演员,他每天只能演一场电影,对于每部电影必须演完D天才算完。
思路:
二分图多重最大匹配问题,对于每个电影,源点与每个电影连上一条边容量为D,电影与每周7天对应拍映连线,容量为1,每周每天与汇点连线容量为1
在二分图最大匹配中,每个点(不管是X方点还是Y方点)最多只能和一条匹配边...
分类:
其他好文 时间:
2014-07-29 14:22:08
阅读次数:
183
解题报告
题目传送门
题意:
M×N的矩阵,k个点被标记,用2×1的木板最多可以放置多少个。
思路:
把标记的格子除外,链接相邻的两个格子,然后最大匹配出来的是二分图的两倍。
c++TLE了,G++1700+过了,理论上匈牙利算法的时间复杂度是n^3,就应该超时,可能数据弱吧。
还有一种建图方式就是建成二分图,将矩阵中的点奇偶分。
#include
#include
#incl...
分类:
其他好文 时间:
2014-07-28 00:11:29
阅读次数:
389
解题报告
题目传送门
题意:
每天有12节课,一周上7天,一门课在一周有多天上课。求一周最多上几节课。
思路:
把课程看成一个集合,上课的时间看成一个集合,二分图就出来了。
#include
#include
#include
using namespace std;
int n,day[10][15],mmap[500][500],vis[500],cnt,pre[500];...
分类:
其他好文 时间:
2014-07-27 11:24:42
阅读次数:
227
解题报告
题目传送门
题意:
n只地鼠,m个洞,老鹰的到达地面的时间s,地鼠的移动速度v,求多少只地鼠会被老鹰吃了。
思路:
地鼠和洞看成两集合,建立二分图。只有当地鼠到洞的时间少于老鹰到地面的时间才连边。
#include
#include
#include
#include
using namespace std;
int n,m,s,v,mmap[500][500],v...
分类:
其他好文 时间:
2014-07-27 11:23:02
阅读次数:
240
解题报告
题意:
n个学生p门课程,每个学生学习0或1以上的课程。
问:是否可以组成委员会,满足
每个学生代表一门不同的课程
一门课程在委员会中有一名代表
思路:
很明显的二分图的完备匹配。
#include
#include
#include
#include
#include
#include
#define N 330
#define P 110
using na...
分类:
其他好文 时间:
2014-07-26 15:31:42
阅读次数:
326
解题报告
题目传送门
题意:
n头m个机器,求最大匹配。
ps
一分钟前刚做了POJ1469 直接改了输入输出就交了,题意完全一样,,,sad ,代码传送门
The Perfect Stall
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 18108
Accept...
分类:
其他好文 时间:
2014-07-26 15:31:32
阅读次数:
234
棋盘游戏
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2298 Accepted Submission(s): 1330
Problem Description
小希和Gardon在玩一个游戏:对一个N*...
分类:
其他好文 时间:
2014-07-26 02:58:06
阅读次数:
222
题意:有n个人,m个洞。每个洞能容纳一个人,每个人到每个洞需要花费一些时间。每个人到达一个洞后可以花C的时间来挖一个洞,并且最多挖一个洞,这样又能多容纳一人。求能使至少K个人进洞的最短时间。解法:看到n个人和m个洞,并且人要进洞容易想到二分匹配,又是求极值的问题,应该是最大匹配。由于直接求极值不好求...
分类:
其他好文 时间:
2014-07-26 01:24:07
阅读次数:
230
题意:有n个人,m个洞。每个洞能容纳一个人,每个人到每个洞需要花费一些时间。每个人到达一个洞后可以花C的时间来挖一个洞,并且最多挖一个洞,这样又能多容纳一人。求能使至少K个人进洞的最短时间。解法:看到n个人和m个洞,并且人要进洞容易想到二分匹配,又是求极值的问题,应该是最大匹配。由于直接求极值不好求...
分类:
其他好文 时间:
2014-07-26 01:23:47
阅读次数:
184