解题报告
题意:
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
解题报告
题意:
n个插头m个设备k种转换器。求有多少设备无法插入。
思路:
定义源点和汇点,源点和设备相连,容量为1.
汇点和插头相连,容量也为1.
插头和设备相连,容量也为1.
可转换插头相连,容量也为inf(因为插头有无限个)
#include
#include
#include
#include
#include
#include
#include
#defi...
分类:
其他好文 时间:
2014-07-26 02:48:36
阅读次数:
215
解题报告
题意:
工厂有m台机器,需要做n个任务。对于一个任务i,你需要花费一个机器Pi天,而且,开始做这个任务的时间要>=Si,完成这个任务的时间
思路:
网络流在于建模,这题建模方式是:
把每一天和每个任务看做点。由源点到每一任务,建容量为pi的边(表示任务需要多少天完成)。每个任务到每一天,若是可以在这天做任务,建一条容量为1的边,最后,把每天到汇点再建一条边容量m(表示每台机...
分类:
其他好文 时间:
2014-07-26 02:13:56
阅读次数:
265
解题报告
题意:
给出NxN的矩阵,有M个点是障碍
每次只能删除一行或者一列,最少删除多少次才能清除障碍
思路:
把行和列看作两个集合结点,把障碍看作集合结点的连线,这样就转化成求用最少的点来消灭边,也就是最小点覆盖。
在二分图中:(n个结点,且没有孤立的点)
最小点覆盖=最大匹配
最大点独立=结点数-最大匹配
#include
#inclu...
分类:
其他好文 时间:
2014-07-26 01:55:56
阅读次数:
213
分析: 2*n个小朋友,每个最多有n-1个"敌人",显然是存在哈密顿回路的. 预处理边,然后找哈密顿回路.code#include #include #include #include #include using namespace std;#define pb push_back#def...
分类:
其他好文 时间:
2014-07-26 01:51:16
阅读次数:
271
分析: 基础的欧拉路算法,变化在于要求每条边正向和反向各走一遍。 链式前向星构图,只要标记走过的单向边,边找边输出即可。code#include #include using namespace std;struct node { int v, ne;} edge[100009];int h...
分类:
其他好文 时间:
2014-07-26 00:22:06
阅读次数:
221
解题报告
n和m跟木棍相交,问一人取一交点(必须是交点,且取完后去掉交点的两根木棍),最后谁赢
思路:
取最大正方形,以对角线上的交点个数判断输赢。
#include
#include
using namespace std;
int main()
{
int m,n;
while(cin>>n>>m)
{
if(n>m)
{...
分类:
其他好文 时间:
2014-07-25 11:18:01
阅读次数:
288
解题报告
对于给定的数组,取对数组中的一段进行翻转,问翻转后是否是递增有序的。
思路:
只要找到最初递减的区域,记录区域内最大和最小的值,和区间位置。
然后把最大值与区间的下一个元素对比,最小值与区间上一个元素对比。
这样还不够,可能会出现两个或两个以上的递减区间,这种情况直接pass,因为只能翻转一次。
#include
#include
#include
#define in...
分类:
其他好文 时间:
2014-07-25 11:17:31
阅读次数:
303
解题报告
题意:
n场比赛其中k场是没看过的,对于这k场比赛,a,b,c三队赢的场次的关系是a队与b队的绝对值差d1,b队和c队绝对值差d2,求是否能使三支球队的赢的场次相同。
思路:
|B-A|=d1
|C-B|=d2
A+B+C=k
这样就有4种情况,分别是:
B>A&&C
B>A&&C>B
B
BB
分别算出在k场比赛中a,b,c三支队伍赢的场次,另外n-k场比赛分别...
分类:
其他好文 时间:
2014-07-25 11:17:11
阅读次数:
322