摘要: 题意: 知道了数轴上的n个区间,每个区间都是连续的int区间,现在要在数轴上任意取一堆元素,构成一个元素集合V要求每个区间和元素集合V的交集至少有两个不同的元素 求集合V最小的元素个数。转一分析:(差分约束)设s[x] = 从0 到x 的所有在集合中的数的个数则ai到bi的个数即S[bi] - S[ai-1]。因此有(1) S[bi] - S[ai-1] >= 2。又根据s[x]本身的性质,后面的一定不比前面的小,后面的最多比前面多一,有:(2) s[i + 1] - s[i] >= 0 (3) s[i + 1] - s[i] <= 1故建图,使图中每一组边,均满足(注意三条 阅读全文
posted @ 2012-08-13 23:01 'wind 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个 n*n的数字矩阵,从左上角走到右下角每次只能向下或向右走,且每个格子中的数字只能取一次,问走k次之后可以取到的最大的数值和为多少。分析: 比较经典的网络流解DP的题目,可以用费用流求解, 建图: 将每个割格点拆分成两个点 v(入点),v`(出点),在v 和v`之间先连一条容量为 1 ,费用为格子数值的边,再连一条容量为无穷大费用为0的边, 这样既可以保证每个数只被取一次,又能保证可以多次经过这个数所在的格子 建立源点 s = 0,在 s 和 最左上角的格子的入点之间连一条容量为 K,费用为0 的边 建立汇点 t = n*n*2+1,在 t 和最右下角的格子的出点之间连一条容量 阅读全文
posted @ 2012-08-13 15:13 'wind 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 题意: 已知有n个插头,知道了m个用电器和其能插的插座型号,和k个转换器,问最少有多少个用电器无法连接到相应的插座上。适配器的作用: 例如:有插座C 转换器B(插孔) C(插头) 如果用电器能插到插座B上,那么通过转换器,它就能插到C上。分析: 建图的时候递归建图,如果用电器能直接连到某个插座或通过转换器间接查到某个插座上,就在期间连一条边,求出最大匹配,用总数减去即为剩下的无法连接个数的最小值#include<cstdio>#include<cstring>#include<string>#include<map>#include<ios 阅读全文
posted @ 2012-08-13 11:57 'wind 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 题意: 年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格。探险家于是又跑到其他地方,其他人也提出了类似的要求,或者直接用金币换,或者找到其他东西就可以降低价格。不过探险家没必要用多样东西去换一样东西,因为不会得到更 阅读全文
posted @ 2012-08-13 09:06 'wind 阅读(196) 评论(0) 推荐(0) 编辑