随笔分类 -  uva

4080 - Warfare And Logistics
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2081解题:很暴力的spfa压线过了。。View Code #include<iostream>#include<cstdio>#include<algorithm>#include<vector>#include<queue>#include<cstring>#define maxn 2500 阅读全文
posted @ 2012-10-05 21:43 一把刷子 阅读(231) 评论(0) 推荐(0) 编辑
5725 - Fun Coloring
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3736解题:题目理解很关键。。因为只有两种颜色。。所以二进制枚举。。。 如果出现某一个集合只有一种颜色(全为0,或者全为1)返回false,否则返回true。。蛋疼的是读入。。蛋碎了一地。。用了stringstream搞定http://www.cppblog.com/Sandywin/archive/2007/07/13/27984.htmlView Code #i 阅读全文
posted @ 2012-10-05 21:35 一把刷子 阅读(211) 评论(0) 推荐(0) 编辑
5723 - Water Gate Management
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3734解题 :暴力枚举,二进制枚举状态。。View Code #include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#define inf ~0U>>1using namespace std;int n,m;const 阅读全文
posted @ 2012-10-05 00:43 一把刷子 阅读(207) 评论(0) 推荐(0) 编辑
uva 5724 - Binary Search Tree
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3735给了二叉树的先序遍历给成后续遍历。。解题: 分而治之。。View Code #include<iostream>#include<string.h>#include<algorithm>#include<stdio.h>using namespace std;const int maxn=100000;int n 阅读全文
posted @ 2012-10-05 00:16 一把刷子 阅读(229) 评论(0) 推荐(0) 编辑
uva 2696 - Air Raid
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=697题意:给定有向无环图,每个点代表一个城市,一些城市之间有边,在城市上放伞兵,伞兵可以管理在他这条路径上的所有城市,问最小放多少个伞兵,可以经过每一个城市,就是二分图的最小路径覆盖View Code #include<iostream>#include<string.h>#include<stdio.h>#include< 阅读全文
posted @ 2012-08-28 20:57 一把刷子 阅读(192) 评论(0) 推荐(0) 编辑
uva 5073 - Test Case Tweaking
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3074之前写过这类型的题目,为什么比赛的时候就脑抽了呢,因为要最短的改动达到目的,所以我们可以这样想,利用dis【a】【b】来表示改动了b条边到达a点。那么对于原图中的边其实我们还加了一些边。如原图中a与c相连,我们还加了dis【c】【b+1】与即dis【a】【b】的边,这条边的权值为0,只不过这条边必须在有了dis【a】【b】之后才能添加。然后遍历dis【n】【i 阅读全文
posted @ 2012-08-27 21:51 一把刷子 阅读(203) 评论(0) 推荐(0) 编辑
uva 4965 - Sum the Square
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2966之前看题的时候没有注意到每一个数最后都会有了循环这句话,解决了这个问题后又开始担心数组太大开不下10的9次方。但讨论了下最大的那个数也是81*10所以开1000就够了。然后我们设置一个visit数组,来表示数字是否出现过,,以及出现了几次。对于读入的两个数a,b如果大于1000那么他不存入visit数组对于a求出他的合乎要求的序列,对于b在开一个visitb数 阅读全文
posted @ 2012-08-25 01:50 一把刷子 阅读(288) 评论(0) 推荐(0) 编辑
4966 - Normalized Form
摘要:http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2967要先找到最深的深度,然后用奇偶性来标识是做交运算还是补运算。奇数表示做叫运算,偶数表示补运算。然后注意的一点就是要用全局变量i,这样就解决了重复算的问题。值得注意。#include<iostream>#include<string.h>#include<stdio.h>#include<algorithm>usi 阅读全文
posted @ 2012-08-25 01:37 一把刷子 阅读(291) 评论(0) 推荐(0) 编辑