NOIP2016 总结

今年的NOIP停了3个星期的课,本以为状态不错,可以有良好的发挥,但是考试结束后却因为一些平时没注意到的细节导致考挂了。

第一天

第一题还是比较符合NOIP的难度,就是一个模拟题。但第二题就开始画风突变了。是一道不那么裸的树上路径问题,本以为也不会太难,但是居然想了5分钟还没有想到正解。就先去看看第三题。居然是期望题,NOIP考期望!说好的不考概率相关呢!想了一下还是有思路的,可以设状态dp,就没往细想。回头想第二题,感觉是把路径拆开后分类讨论,想了10分钟,有个nlogn的思路,感觉能过就开始打了。第一题还是很好打的。第二题有了思路后也不难实现,打了对拍拍过后还剩一个小时搞第三题。一开始推了个转移,由于当时时间不多了,就马上开始码,码完以后调了一下发现有问题,只好换了暴力。

大概成绩

测完民间数据后,发现我第二题挂了,一脸懵逼,拍过怎么会挂呢?拿到程序调了一下,发现时倍增打错了!把倍增的两个循环打反了。但是由于我的拍是按顺序插入树上结点的所以没有拍出错,真的是智障了。第三题,打了几档部分分,但是floyd的n都打成了v。本来可以拿个高分的,但是瞬间就变成了低分了。

第二天

先看第一题,是组合数的题,一开始以为是单组询问直接暴力就可以了。第二题,好难,没什么思路,只会nlogn的暴力,对于正解没什么思路就看下一题。第三题,一眼看上去是要先把所有的抛物线预处理出来,然后再暴力dp,可是复杂度是 2nn2 的,想了想是可以卡掉的,但是想了几分钟有没有想到更优的解法,但是想到了一种可以解决特殊情况的方法。也许能骗多点分。重新看第一题,发现有多组数据,但还是可以做的,第一想法是把阶乘上的每个数除一下k,感觉能做就没多想,马上开始打。对拍时也用了这种计算方法,但是矩阵前缀和那里有了暴力。第二题直接打个堆,很快就打完了,打完以后发现每次砍蚯蚓可以分几个数组分别维护,但是但觉做法是和t有关就没有往下想。去码第三题暴力,打完以后发现很难拍,只好肉眼调试。

大概成绩

第一题又挂了!什么鬼,仔细想了想发现我的做法只有在k是质数是才是对的。考场上怎么就以为这是对的呢?一下60分就没了,别人都对了的题我们对,在考场上思路不够严谨,而拍又太弱。就导致没有拍出问题。而且最后一题的fabs都打成了abs,考试时没注意,导致都打错了。一不小心可能就被卡成0分。

总结

虽然正式成绩还没出,但是大概的成绩已经知道了,感觉好多能拿的分都没拿到,算一下200分就这样没了,省选的压力就很重了。这次连一等奖有没有都不知道了。看来真的是要好好总结一下。仔细想想,对于每道题的解法,只有第二天的第二题是没想出正解的,但是关键问题就在于对于代码的正确性没有十足的把握,而且对拍打的都不够强。所以下面就总结一下这次比赛的失误,对拍的注意事项和日后的安排。

这次比赛的失误

1.第一天第二题倍增for循环打反了,由于构造数据时是按编号顺序加入节点,没有拍出错。
2.第一天提三题floyd的v打成了n,没有拍,也没检查出来。
3.第二天第一题,思路有问题,按照是质数的情况做了。打的对拍用的是同一种判定方法,没有拍出错。
4.第二天第三题的fabs打成了abs,由于没打拍,也没发现。

把失误一一列出以后,发现居然有4道题都是存在漏洞的。这里加起来丢的至少有200分。感觉对于我来说,程序的正确率已经不是小问题了,而是一个很严重的问题。想出来没打对,比没想出来更糟糕。平时做比赛时,也不是感觉自己也没有特别重视这方面的问题,总感觉在考场上就会注意到,可是这次比赛就吃了个大亏。看来平时的训练不仅仅是对思维的锻炼,更是对考场时各种特发情况的体现。如果平时不注意,考试的总能有一些意想不到的失误等着你。所以在做模拟赛时,更重要的是要程序的准确性,做到自己估多少分,就拿到多少分。这也是能力的一种体现。

对拍中的注意事项

1.特别重要的一点是,尽量在对拍的程序中和原来的程序有公用的部分,如果这个部分有问题,那么久拍不出来了。
2.加入数据要生成一棵树,不要一个个结点生成,要用并查集来生成,以保证树的随机性,不然可能会遗落很多程序中的问题。
3.对拍中的程序不要有自己不确定的算法。不然可能对拍程序本身就是错的。
4.生成数据时记得打srand(time(0))
5.批处理文件要注意比较的文件是不是两个程序输出的不同的文件。
6.要用小数据测试程序的正确性,用大数据测试程序的数组大小,变量大小,边界有没有问题。

日后训练的方向

首先,毫无疑问的就是提升代码准确度,这甚至比学多两个算法更有用,这方面可以在平时的模拟赛中逐渐提升,也就是说在模拟赛中,要以代码准确度为第一目标。

而在平时的训练中,要去做更多的题目,现在我的打算是跟两种方法来做题,一种是思考完要把代码写出来,这一般针对细节较多,或者是与一些比较难打的算法有关。另一种就是,只是思考,不写代码。这就针对一些思维难度较高的题目。把这两种方法结合起来,已达到即提升代码实现能力,又提高思维的作用。

对于题目来源就先把握好OJ上的资源,然后可以去CF,CC中找一些思维难度大的题目去做。而BC,UOJ这些网站上的比赛也尽量去做,增加提高自己的机会。

最后

怎么说,上一年NOIP考挂之后,心里想着当时才高一,还有一年,但现在高二的NOIP也发挥不好。这也许是偶然的,但更多的,应该是必然的,平时训练总想着多做点题,就没有注意到一些很关键的细节,不够严谨。这一直以来都是我的一个很严重的问题。没想到这次给了我一个这么大的教训。由于NOIP分数占省选的30%,所以进省队的机会也变小了不少。虽然觉得和遗憾,但是心里中是有种不服的感觉。虽说机会不大,但总想去抓住。离省选只剩半年了,但是毕竟还有半年。趁着这半年的时间,从心底里感觉还想拼一下,如果就这样放弃了,可能会轻松不少,但是必定会留下遗憾。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值