摘要: 这是做的最得意的一道题,当时在考场上得了90,是因为数据中A有100++的情况,Runtime_error了。。首先强调,本人不是用二分图,或者说不用图论算法,只涉及简单的枚举和记忆化思想。A国的人最多只能取两个,这个大家都能看出来,当然还可能不取。B国的人不去向常规考虑奇偶分组,这个会在后面提到。题意抽象为求一个最大完全图,那么当我们确定一个极大完全图后,任意一个元素都可以作为代表元,给定代表元之后,通过一边O(n)的扫描就能得到这个极大完全图。所以对于不含A国人的情况,我们只需要枚举一个B国人,把其他的B国人尽量多的加进去,这个加人的顺序与结果无关,而代表元可以使任意一个,因此可以用一个数 阅读全文
posted @ 2012-05-10 11:21 Codinginging 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 一道答题解法一定细节解法并不怎么确定的题目,总体上就是搜索了。在每层当前可被感染的人中,只能选一个人,就先DFS建树,统计每一层的人,保存在一个表里,再进行搜索,一个人被控制后,就用递归把他的儿子全部赋值成不能染病,并在可染病人数中减去该子树大小,取最小值即可。统计官方上都说要剪枝,但是我的程序最大点0.2S。View Code 1 program noip2003t4(input,output); 2 type 3 node=^link; 4 link=record 5 goal:longint; 6 next:node; ... 阅读全文
posted @ 2012-05-10 10:43 Codinginging 阅读(677) 评论(0) 推荐(0) 编辑