摘要: A. Valera and Plates 模拟B. Valera and Contest 构造C. Valera and Electionshttp://codeforces.com/contest/369/problem/C我的思路是首先dfs把树建起来,然后对每条需要修的边,从离树根远的那个开始向上标记,直到根节点,这样就构成了一颗新的树,新的树中的叶子节点就是所求节点,标记时候把叶子和中间节点区分开就行了。由于n比较大,要防止退化成一条链的情况,遇到标记过的,就不再向上重复标记了。没用过邻接表,加上开始思路不是很明确,直接卡了一小时。# include # include using n 阅读全文
posted @ 2013-11-30 01:41 努力变瘦 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.swust.edu.cn/oj/problem/91/ 这道题让我想起了hash,题意可以描述为为 n 个数(a[1…n])寻找一个最小的数 K,使得这 n 个数对 K 取模无冲突。 \(n\leq5000, a[i]\in[1, 1000000]\) 看了一个题解,A是A了,但是复杂度不是很好理解。并且这道题貌似有BUG,只对差作标记而不考虑差的... 阅读全文
posted @ 2013-11-29 21:52 努力变瘦 阅读(197) 评论(0) 推荐(0) 编辑
摘要: More than 9,000 representatives gathered for a United Nations conference for climate change. Organizers called the meeting to work toward a treaty to fight rising temperature on our planet. ... 阅读全文
posted @ 2013-11-23 11:14 努力变瘦 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目来源:http://news.cnblogs.com/n/192014/用a[i]表示第i个墙的高度,墙的个数记为n思考:1)两个墙x,y之间可以盛水的条件是a[x],a[y]是a[x...y]中的前两大数;2)如果a[1...x-1]中存在a[i]>a[x],那么用k来替代x并不会使a[x...y]中盛水减少,同样如果a[y+1...n]中存在a[j]>a[y],可以用j替代y不会使a[x...y]中的盛水减少;3) 如果得到了a[1...n]中的前两大i,j,那么它们一定是整个区间盛水的最优边界,a[i...j]中的水位就是min{a[i],a[j]},只需要考虑两边:a[ 阅读全文
posted @ 2013-11-01 21:52 努力变瘦 阅读(159) 评论(0) 推荐(0) 编辑
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=966对于k=0的情况。可以证明这样一个结论:对于任意x in [1, n*(n+1)/2],可以用1...n这n个数的若干个数的和构成。这样对与k>=0,题目就化为了求最小的 n 满足 n*(n+1)/2>= k,即min{n|n*(n+1)>=k},显然复杂度过得去。特别要注意题目要求每两个输出之间有一个空行。# include # include int ic 阅读全文
posted @ 2013-10-29 22:46 努力变瘦 阅读(206) 评论(0) 推荐(0) 编辑