考试策略——虽有策略二字,但我认为它的核心并不是教导你如何去选择、去和有限的做题时间做博弈;而是作为警钟,时时刻刻警醒你,在考场上需要保持一颗冷静平稳的心。因为考场上的最佳策略说白了两个字:求稳——有几分的水平,出几分的成绩。——lyd
反面教材
-
这道题目的算法我似乎看见过……Enm……这肯定就是SPFA!怎么写来着……我琢磨一下现场搞一搞(完全忽略了那个算法几乎没怎么写过,就算写过也差不多忘的一干二净)
-
哇!只剩30分钟了!没事没事,最后一题一定能肝完,还有最后的30分我一定要拿到!(完全没有给自己留检查的时间)
-
简单题都写了……难题都不会……我还是睡觉吧,或者打会扫雷(Windows选手)或者贪吃蛇(Linux选手)?
-
Enm……题目给的大数据都过了,那这题基本稳了!对拍好麻烦啊,我还是去写下一题吧。
-
哦!这题不是很(我)简(做)单(过)嘛,秒出解!(写完题跑样例——嗯?发生了什么?)
安排时间这种事情,俗话说计划赶不上变化,所以强制要求自己跟着计划表来是没有多大意义的,但是不会安排时间更加的致命。——lyd
安排时间
-
合理分配每道题的时间
-
整个考试的时间分配应该考虑到——看题,想题,反思,写题,调试,对拍,检查
如何合理的看题?——题目的名字,时空限制,IO格式
如何合理地反思?——重新看一遍题目,对样例输入输出用你的算法做一遍诠释,思考自己的算法是否有漏洞和反例,思考极限情况
如何合理地检查?——检查分为两步,题目做完后的检查,考试临近时的检查
如何检查
题目做完后需要检查哪些东西?
-
检查空间是否在规定的要求内(数组切记不要开太满,防止溢出)
-
检查极限数据是否会超时
-
检查极限数据是否会溢出,检查取模操作和数学公式
-
检查是否删去所有的调试信息和调试代码
考场临近时需要检查哪些东西?
-
各种文件名字对吗?
-
看一下你开的数组和常数,有脑残的地方吗?
-
检查是否删去所有的调试信息和调试代码?
-
重新编译你的程序看看能编译成功吗?样例能跑吗?
细节处理
-
在复杂的公式旁边用注释等标记出来,方便自己检查
-
及时关掉不改的代码、已经写完的题目
-
任何修改算法和大批代码的行为都要备份原代码
-
好的码风(可参考——W-RB的码风)
算法选择
基本不会错的算法 >> 没有把握的算法
一定能写对的算法 >> 可能可以拿高分的算法
千万不要盲目尝试你没写过或已经忘了的算法
要坚信“暴力出奇迹”,尤其是dp的题目
错误习惯
-
拿到题目我先写点什么……Enm……大概会用到所以我先写着(尤其是在焦虑的时候)
-
一旦程序出错(CE/RE)先打开调试/输出一些什么东西,一旦答案错了(WA)先调数据
应该对代码在哪一块可能会出错有一个感觉
改正不了第一点,是不可能做到这一点哒
改正方案
调试能力差——改善代码风格,保证写代码头脑清醒
代码风格差——多写模拟题,多看别人的代码,培养意识
准确率低/考虑不周全——慎重你的提交,拿个本子总结一下自己经常考虑不到的问题和逗逼错误和做题心得
多写暴力题——你至少要有能极快地写出对拍程序的水平
多比赛/多模拟考——培养考试策略和感觉以及骗分能力
然后你就可以优雅地上考场了
——EECS PKU LYD
亿点点注意事项
这里是小wCSP考试之前整理的一点点注意事项。一点一点积累的哟~
文件
一定要加上freopen
!!!
一定要去掉freopen
前的注释!!!
一定要检查好文件名!!!不要留空格(我就这样直接100 -> 10)
一定要加fclose
!!!
检查
OI千万年,对拍第一点!
做完不对拍,爆0两行泪!
一定要删除调试!!!