随笔分类 -  poj

摘要:题意 一个有向图,给出n个点,m条边,给出每条边的起点和中点以及容量,求最大流分析 求最大流模板Accepted Codedinic 1 { 2 PROBLEM:poj 1273 3 AUTHER:Rinyo 4 MEMO:网络流 5 } 6 Program flow; 7 Const 8 Infile = 'flow.out'; 9 Outfile = 'flow.out';10 Var 11 q:Array[0..100000]Of Longint;12 map:Array[0..400,0..400]Of Longint;13... 阅读全文
posted @ 2013-03-24 21:34 Rinyo 阅读(223) 评论(0) 推荐(0)
摘要:题意 有N部电影,分别可以在一个星期的几天拍摄,并可以拍W个星期,Alice可以有D个星期拍这部电影,一天只能拍一部电影。问Alice能否拍完所有电影分析 这题直接把每天看成一个点,每部电影也看成一个点,然后源点与电影连接,容量为要求天数,电影与能工作的那些天连容量为1的边,每天再连一条容量为1 的边到汇,最大流为所有要求天数之和就是YesAccepted Code 1 /* 2 PROBLEM:poj1698 3 AUTHER:Rinyo 4 MEMO:网络流 5 */ 6 #include<cstdio> 7 #include<queue> 8 #include.. 阅读全文
posted @ 2013-03-24 21:28 Rinyo 阅读(252) 评论(0) 推荐(0)
摘要:题意 给出n种关系,有以下三种情况: a>b :a赢了b a<b :b赢了a a=b :a与b平手 现在有三组人,出的手势是一定的,但是其中有一名judge,他可以出任意手势。问通过哪一行就可以推断出谁是judge。若没有则输出impossible。若有多个,则输出can not determine分析 1.如何确定Judge 因为Judge可以任意出手势,所以凡是有关judge所建立起的关系都是不可靠的。 因此,我们可以枚举judge,凡是跟judge有关的关系都不考虑。如果此时建立起的关系有矛盾,则说明现在枚举到得人不是judge。 若有矛盾,则记录下在哪句话... 阅读全文
posted @ 2013-02-24 15:20 Rinyo 阅读(405) 评论(2) 推荐(0)
摘要:题意 有三类动物A,B,C,题中给出两种关系: 1 x y :x y 同类 2 x y :x吃y 对于假话的定义: 1.当前的话与前面的某些真的话冲突,就是假话; 2.当前的话中X或Y比N大,就是假话; 3.当前的话表示X吃X,就是假话。 现在给出n句这样的关系,求假话个数。分析 这是第二次写这道题了,第一次是去年刚学并查集的时候。当初囫囵吞枣A了,现在拿出来发现自己根本就没明白。 感觉,经典的题还是要时常拿出来做一做。 刚才某人吐槽:这题比就我小4岁。呵呵.... 废话少说,说正题。 看题解写的,这个人的分析很详细哦~!膜拜!http://blo... 阅读全文
posted @ 2013-02-23 21:54 Rinyo 阅读(2240) 评论(0) 推荐(0)
摘要:题意 一开始若干个元素自己为一个栈,给出n个操作,有如下两种: 1.M a b :表示把元素a所在的栈整个压在含有元素b的栈的顶端 2.C x :查询元素x所在的栈,x下方有几个元素,输出分析 题意简单明了:并查集 除了数组f[i]用来记录i的祖先,也就是顶端元素 另需要数组rank[i],记录i所在的栈一共有多少个元素(i为栈顶) 数组up[i],记录i上面有多少个元素 则答案为rank[find(x)]-up[x]-1 至于在find和union中如何维护rank和up: 在find中只需维护up,即up[x]+=up[father[x]]; ... 阅读全文
posted @ 2013-02-23 19:04 Rinyo 阅读(404) 评论(2) 推荐(1)