之前还想每天写总结然而时间根本不够用,想了想还是写写对考试过程中的自己的提醒吧。
想到什么就写什么吧,如果NOIP不崩以后还用得到(崩的话就留着造福人类吧......)
1.考试前的试机,建议按照以下顺序打模板,时间不够优先打前面的部分:
(1)每个程序的程序名、文件读入输出、主框架(包括快读、typedef、define等等);
(2)对拍与数据生成器;
(3)链剖求LCA;
(4)zkw实现RMQ;
(5)树状数组的基本操作;
(6)快速幂、扩欧,线性筛法求质数、欧拉函数值、逆元;
(7)floyd、dijkstra、SPFA(差分约束) ;
(8)线段树的建树、下传标记什么的;
能打完可真是谢天谢地......
当然没打完的话比赛开始马上放掉,题目重要......
2.考试的时间安排:
(1)进考场--8:30:调试机子保证没问题,显示扩展名、开最大警告什么的基本操作。建完文件夹然后就可以敲板子了。
(2)8:30--9:00:半个小时基本就写完T1了。写完重新仔细读题和静态查一下是否有错,能过大样例基本就认为没什么问题。时间应该是足够的。
(3)9:00--9:15:仔细读T2、T3的题目,保证搞懂题目意思,不理解或模棱两可就马上举手问,别浪费时间。
(4)9:15--9:45:选一道觉得做出来可能性较大或者有点思路的题目想,结合样例,想出做法的话可以马上尝试去写。
(5)9:45--10:30:这时候如果还是想不出正解就一定要开始写暴力了,尽量分细一点,暴力一定要保证正确性(大数据可以考虑贪心......)
(6)10:30--10:55:想另一道题,中途多用草稿纸或暴力程序,想到一定要仔细验一下正确性,因为想错去码可能会浪费太多时间。
(7)10:55--:10:55起一定要开始敲了(不管想没想出),因为越往后面可能会越乱,情绪可能会不太稳定。
(8)(假如有的话)先检查一遍准考证号、文件夹、题目名、文件读入输出等最重要的东西;然后按自己确定的顺序开始查错,保证该拿的分一定要拿到。然后可以试着想一下暴力优化啊卡常啊之类的技巧,如果想到疑似正解一定要开副本。
(9)考试结束后,拒绝对答案,调整好心态。
3.考场上的idea:
(1)看数据范围猜时间复杂度,O(nlog(n))一定要先想二分和三分,然后想矩阵,最后再想数据结构;O(n2)多半是dp,数据范围贼小多半是爆搜+剪枝或状压。
(2)看空间限制,多维可能会爆考虑压维、滚动数组、垃圾回收。
(3)树上的考虑倍增。