Codeforce
文章平均质量分 77
zhaofukai
行有不得,反求诸己
展开
-
Codeforce # A Plug-in
这道题如果直接在原来的串上模拟删除,会超时,所以用一个栈来存要输出的字符,这样就比较简单了程序代码:#include #include #include #include using namespace std;const int MAXN = 300010;string s;char t[MAXN];int main(){ //freopen("input.txt", "r", stdin); cin>>s; int cnt =原创 2011-05-04 16:21:00 · 585 阅读 · 0 评论 -
Codeforce # B Sequence Formatting
<br /> 这道题题意又没读懂。这句:“if two consecutive numbers were separated by spaces only (one or more), then exactly one of them should be lefe”,意思是两个连续的数中间若有多个空格,只保留一个。而我稀里糊涂的全给删了,结果系统测试Judge掉了<br />程序代码:<br />#include <iostream>#include <string>#include <c原创 2011-05-04 16:26:00 · 740 阅读 · 0 评论 -
Codeforce # C. Average Score
<br /> 这算是一道贪心题吧。如果a与b相等,直接输出一半1,一半2;如果a < b,把成绩按从大到小排序,成绩相同,下标小的放在前边,如果a > b,还是按成绩从大到小排序,但成绩相同时,下标大的排在前边。做的时候,只排了一种,最后时间紧,没改过来-_-<br />程序代码:<br />#include <iostream>#include <cstdio>#include <cstring>#include <utility>#include <algorithm>us原创 2011-05-04 16:36:00 · 571 阅读 · 0 评论 -
POJ 3509 Rotating Rings
<br /> 这道题思路比较简单,但实现起来比较复杂。首先生成一个排好序的二维数组,然后将要判断的数组一圈的数字存到一个数组中,和已经排序好的数组比较。<br />程序代码:<br />#include <iostream>#include <cstdio>using namespace std;const int MAXN = 1010;int Grids[MAXN][MAXN], Digit[MAXN][MAXN], tGrids[MAXN * 4], tDigit[MAXN *原创 2011-05-03 23:15:00 · 708 阅读 · 0 评论 -
codeforce Education Reform
这是昨晚codeforce的第三个题,没有做出来,后来听雪哥讲解,是一个dp,今天还做了好长时间。注意题目给的a与b只差小于100,这样我们可以定义状态:f[i][j][k]表示前i天,在第i天选择第j门课程布置k个练习所得到的最多的练习。我们可以用此状态来更新第i+1天原创 2011-10-15 17:39:42 · 653 阅读 · 0 评论 -
CF 176B Word Cut
之前没做出这道题是因为缺少自己的分析。别人给你提供了一些思路,如果你照着做下去觉得可以比较顺利,就继续;如果总觉得想不通,就及时丢掉,自己想办法做。从这个图中我们可以发现一些规律:原串不能产生原串(先不考虑原串中有重复的),能产生其他n-1个串。第0步,原串是1,其他都是0,总和sum为1;第1步:原串产生其他串1,其他串产生原串0,原串为0,其他串都为1。即原串:su原创 2012-08-10 16:13:07 · 816 阅读 · 0 评论 -
CF Spiral Maximum
这是一个好题。刚开始看没想深,没发现什么规律,感觉得直接爆,但这会超时。后来仔细想了想,奥秘就在这螺旋中。由3层螺旋的值,可以得到5层螺旋的值,依次类推,条件是中心不变,依次向外扩。那么如何由3层值得到5层值呢?假设3层值为A,扩到5层后,假设5层内的所有值的和为B,则5层螺旋的值为B-A,是不是很神奇,至于为什么是,你用笔画画就知道了,其余层数依次类推。我们可以O(n^2)的预处原创 2012-07-29 23:38:56 · 495 阅读 · 0 评论