@happyforever
2018-10-31T14:22:22.000000Z
字数 4729
阅读 668
清北学堂 考试经验
试机和两天考试都是在同一位置
1. 试机的时候查看鼠标灵活度,保证不会影响写代码。如果能用但是不好用
2. 保证能用鼠标键盘之后,尽自己所能多写一些代码,要尽量手和键盘磨合磨合,以便在比赛时少一点手误
3. 就是多写点代码,没必要想在那么短时间里写什么高难度算法再调试半天,主要目的是找手感
如果考试举办方允许动鼠标和键盘的话,
1. 整个资料的组织做好,也就是把整个文件夹的结构做好,哪一个文件夹干什么不能弄混。
2. 程序基本框架,头文件,读入优化之类,都写出来。
当想出一个做法之后,怀疑的眼光审视自己,“我一定是做错了。不可能这么简单”“我肯定是读错题了”“我猜的那个性质一定有问题”“我复杂度分析时肯定少考虑了什么”之类之类
这个真的屡试不爽。
写代码前,要想想,可不可以换一种代码实现然后代码难度小很多
2017国家队队长毛啸:“Think twice,code once ”
写着写着代码的时候,写了有半个小时了,突然发现自己的做法有点问题就慌了
这种时候很容易全盘否定自己的做法
但是其实可以试着花两三分钟想一下是不是这个问题就是要解决的最后一步,可能再挖掘一下问题就ok了
发现真的不可挽救的话,果断放弃,直接上暴力
最后就分钟了,有个分的暴力好像还可以写,紧忙活的话分钟就能写出来。
如果你平时写代码就是那种非常稳,代码能力比较强,细节把握能力比较ok的话,可以写。
如果平时就容易写出bug*来,不建议再抢最后分钟,把原先代码的边界情况检查一下,时间什么的测测,比较满的话,就看看能不能小卡一波常数,保证写上的不丢分。
信息竞赛对细节把握的要求太高了!
在想出一道题目的解法时不要一激动直接开始敲键盘
首先要以怀疑的眼光来看看你自己的做法是不是正确的。
1. 比如前文提到的和自己说“这么容易就想出来?肯定没这么简单”。
2. 就算是证明了正确性,也需要再想一想看看能不能找出一个写起来更简便的实现方式,留出更多的时间。
3. 最后把自己的思路再理一遍,可以写到纸上,记下来大致关键顺序
OI系列比赛吐槽给的大数据水的已经太多太多了。
1. 一般计数题比较稳,过了大数据就问题不大了。
2. 但是很多贪心和部分数据结构,需要更加注意一点,有时间写个暴力就写一个,程序的边界问题出题人不会让它这个样例数据体现出来的。
3. 出题人出一套题会写很多造数据程序,强边界和极限数据留给你最终评测,再写一个巧妙避开所有边界极限情况的数据正好给你发下去
4. Noip是程序交上去一个星期成绩才公布,谁知道那一帮出题人会不会面向
程序造数据
在noip的比赛中,一道题目有时会设置分或者分的部分分。
这里所说的不是(对于的数据……对于另外的数据……)拼起来的。
◦当我们想到了,分做法到分,往往是挖掘出一个关键的性质,然后一个关键优化就ok。
◦一般不会出现和是完全不同的思路的情况
如果我们遇见的是一个有良心的出题人,并且题目本身数据不是那种大表格,就几类。
那么他题目的较小的数据范围,应该是会对较大数据范围有启发作用而不是(把别人往歪路上引)
前提:良心。
(而大表格,情况是不太一样的)
非负整数不是正整数
int范围内包含负数
这个一般是能在测样例的时候找出来,只不过把时间花在忘记调用预处理函数上就有点不值得了
注意堆的cmp要特殊一点,与正常的相反
最后五分钟把要最后交的代码再检查一遍
scanf(“%d%d”,&n),scanf(“%d”,&n,&m);
。
1. 这个需要在平时就养成一个好的代码习惯,用邻接表不要写,
少用点stl,noip又不开O2。
2. 还有就是数据结构的选择,选常数小的数据结构,BIT代替线段树。
3. 能不用double就不用double,有的问题时只需要比较大小,就别用double了,用分数来比较大小。总而言之能用分数就用分数
4. 把模数的变量名改成wys(雾)
首先暴力是分很多种的,我这里说的暴力是低思维含量的部分分。
就是一道题可能用了线段树等数据结构,但是只是套个模板,我们这里也是称作暴力。
也就是说,深度理解题意之后,在一些数据的特殊情况下是转化为某个算法的模板,或者是直接模拟枚举就能得到的。
对思维的要求并不高。
在noip的考场上,不管是第几题,都会给那种只要理解题意就能得到的分数。
(比如一个计数题,会给一些数据,并不需要和正解类似高级的动态规划等算法,我们可以直接用自己的小学数学知识来手玩出来)
所以考试的时候,一道题爆零是非常非常不应该的。
这样的分不一定会多,但是分也是非常重要的
现在的,往往走大表格数据分类的风格。
这个首先是和我们平时做的题的数据分类不太一样,要是乍一看的会有点蒙。
我们在尝试写暴力的时候要对这个表格整体分分类,每道题选几个暴力写(我们当然不希望一道题写4、5个暴力)
我们希望的是写上一个对一个,而不是写的很多然后每一个都有一定概率对。
我们自然不希望把命运交给寄托在自己的皮肤颜色上
你的暴力不是人家的暴力
绝大多数人会把暴力写错的,或者懒得写小暴力。你只要拿好所有暴力不失误,一等奖是很轻松的。
不失误就是最大的成功。
数据是死的,人是活的,出题人是懒的
不要太老实,写的什么特殊性质暴力就直接判断在那种情况下运行
如果你会两类数据,
你写
if(n<=100){work1();return 0;}else if(k==1){work2();return 0;}return 0;
完全不如下面这种写法的
if(n<=100){work1();return 0;}else{work2();return 0;}
1:首先没有什么好怕的,考差了本身没有什么好怕的,早晚东山再起。
2. 考前保持一个平静的心态。
3. 根据人品守恒定律,考试前丢钱了应该高兴。
◦考试前一天早睡之类就不说了。
1. 在深秋加上劳累易感冒,考试前一个星期开始注意保暖,保证绝对的最佳状态。
2. 提前两三天注意饮食,尤其是考试那两天,肠胃不好的就不要多吃性寒的食物,拉肚子是非常影响考试的。
3. 提前三四天(最好再多几天),调整作息时间,不能指望平常1点睡觉,考试前一天突然10点半睡能很快睡着