现在的节奏变成了,两场总结一次了,最近状态不是上佳,有待调整。
第八场,(昨天做的):(2011年北京师范大学新生程序设计竞赛)
比赛中,我就感觉会有人AK,后来才知道的BNU的新生赛,不过全场没人AK,很是遗憾。
A题,感觉以前,在NYOJ上做过类似的题目,不过没有找到,一定要找到!!!!
发现了,学习了,是一个9余数定理。HDU 1163
点击打开链接 NYOJ 485
A*B problem HDU 1013
Digital roots
先说一下9余数定理:
简单来说就是一个数对9取余等于该数各个位置的和对9取余。(由同余定理和k*(10^m)==k%9可以证明,证明略)。
需要注意的是当结果为0的时候,如果该数为0,那么结果为0,否则为9。
BNU 10782 被诅咒的代码
点击打开链接
题目本质也是一个9余数问题,然后让我们优化一下,打印出来前几个可以发现规律,自己水之。
代码:
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define LL long long using namespace std; const int N=12; const int hash[N]={0,1,3,6,10,15,21,28,36,45}; int main(){ int T; scanf("%d",&T); while(T--){ LL n; scanf("%lld",&n); printf("%lld\n",(n/9*45+hash[n%9])%10000); } return 0; }
B题是一个计算几何,感觉很简单啊。增加一个中点进行判断就可以了。不知道为什么那么多人没有出来。可能是没有想到,这个中点吧(这样竟然是错误的,BNU的题目描述不仅不给力,数据也不给了,大家一致讨论,Pass!!)。
D题,是一个很简单的模拟,理解题意有误,一去不返啊。语文学的不是很好。15Wa都没有过,最后给毁到这个题目上了。下来比赛和同学交流了一下,弄清了题意,直接A了。BNU的题目描述就是这么的坑爹。还是自己的语文学的不好。
代码:
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <map> #include <string> #include <iostream> using namespace std; int main(){ map<int,string> M,M1; map<string,int> M2; M[0]="nil";M[1]="un";M[2]="bi";M[3]="tri";M[4]="quad"; M[5]="pent";M[6]="hex";M[7]="sept";M[8]="oct";M[9]="enn"; for(int i=100;i<=999;i++){ int tmp=i; int g=tmp%10;tmp/=10; int s=tmp%10;tmp/=10; int b=tmp%10;tmp/=10; string tmps; tmps+=M[b]; if(b==9&&s==0){ tmps+="il"; } else { tmps+=M[s]; } if(s==9&&g==0){ tmps+="il"; } else { tmps+=M[g]; } if(g==2||g==3){ tmps+="um"; } else{ tmps+="ium"; } M1[i]=tmps; M2[tmps]=i; } int T; scanf("%d",&T); while(T--){ int flag; scanf("%d",&flag); if(flag==1){ int x; scanf("%d",&x); string k=M1[x]; k[0]=k[0]-'a'+'A'; cout<<k<<endl; } else{ string x; cin>>x; x[0]=x[0]-'A'+'a'; cout<<M2[x]<<endl; } } return 0; }
简单的模拟,就是没做对,主要原因在于理解题意不准确,汉语真没有学好。
E题是一个简单的选择,直接暴力。
主要的就是不知道方差的公式:(复习一下)
其他都是水题,不再总结。
第七场:
A题,概率问题,我擦,我敢相信,大多数人都是蒙的,这有点不科学。我也是蒙的。囧。概率问题有待学习啊。
D题,又一神题,都不知道怎么形容了。我擦。大多数学弟学妹都会,我们这些大二组的楞是没几个做出来,我擦。
H题,hash。
I题,大水题。
J题,大水题。
第七场,同学很的各种蒙啊。都不知道大家是怎么想到的,很是怀疑提前看题。没办法,成功都是为有准备的人留的。
总结一些最近的状态吧:
学树状数组,感觉学不到精华,先放一下吧。
最令我生气的是,自己有点急躁,这样很是不好,还好发现了,每隔一段时间总结一下自己的状态很是有必要的。
对,在过去的几场比赛中,我发现了一个严重的问题,比赛后程发力问题,一般情况,都是比赛时间过了一半了,自己就出不了了题了,甚至没做出来的题目也是一些很水的题目。很是值得思考。
个人赛还有两场,希望自己能过,个人赛吧,状态要维持和上升。
继续努力。。。。。