NOIP2016 总结
NOIP2016!
总的来说,这次NOIP已经结束了,成绩也不尽人意原因又很多,但是最主要还是自身的原因。
比赛概况
这次联赛普遍比较难,自己之所以考的很烂最主要的原因就是该拿到的分数没有拿到,两个T1都写挂了。
Day1-T1
第一题TOY是因为判断错误,一个 “ = ” 的问题,结果一个简单的模拟题只拿到了10分,修改了判断之后就能AC了(NOIP的水数据),但是在OJ上还需要对读入进行处理一下,因为到后面4组数据用string来读入人名是会超时的,需要用到字符数组。
Day2-T1
重点是第二题,第二题需要的递推公式我是已经想出来的,而且实现的也很好,失败就失败在了后面的优化上,也就是空间换时间上面。为了不超时,我使用了一个一维数组来存入每一排前面所有的答案,但是忽略的题意,没有注意到枚举的范围,所以导致后面一片WA,我删除了优化之后,OJ上拿到了80分,是很有可能AC掉NOIP的水数据的,但是自己画蛇添足,自作自受。
Day1-T2&&Day2-T2
然后就是两个第二题,分别都拿到了一些步骤分,30分和20分(好像),按照这样,不算Day2 T1自己真的有可能想不出来的优化:30+20+100+80=230 说不定可以拿到省一,其实这是我很容易就能到达的,然而……
总结
但是原因不能总归根于人品,运气,状态什么的,最重要的还是自己的实力,我之所以犯一些简单的错误,和我的代码熟练度,做题认真程度,读题认真程度还是有很大关系的。MH之所以能拿机房第一,其实很简单,写好了暴力和模拟。
他前面一些很麻烦的模拟题他都没有像我一样跳过,而是写了下来,这需要不停不停的死磕才行,但是这些也锻炼了他的模拟能力,也使得他能拿到不错的成绩。
下一步需要静下心来,认真的赶进度,认真的写代码了。
题解
至于题解,我就简单说说吧:
NOIP Day1-T1
Toy:读入的时候用字符数组,不要用字符串,超级慢,OJ上会超时的.
1 | ios::sync_with_stdio(false); |
就像这样,直接读入就好,比较快的顺便提一下,不喜欢使用c语言的读入输出但是cin又太慢的,在程序开头加上这一句:ios::sync_with_stdio(false);
然后就是判断,核心代码:
1 | for(int i=1;i<=m;i++) |
NOIP Day2-T1
题解
Toy我也没有什么可以说的了,很简单的一道模拟题。
然后是Problem,一道递推题,只要找到公式+RP就可以不经过优化AC;
其实核心就是杨辉三角:
1 |
|
优化
但是写出来杨辉三角后不经过优化会超时,所以我们可以把每一个答案事先算出来,然后需要用的时候调出来就好了:
我们其实分析答案之后不难发现,当前数组的答案比如a[5][4]就等于a[4][4]加上第五行1——4所有符合的情况而已,所以只需要一个二重循环,就可以了。代码在上面。
NOIP的总结就到这里吧,接下来是真的该沉下心了,月考之后,就剩一个月期末考试了,所以为了寒假能一整天一整天泡在机房里刷题,晚上一整夜一整夜的瘫在沙发上玩游戏,努努力吧,争取期末考试取得一个好一些的成绩,NOIP已经过去,明年再战!