考前温馨提示
1.审题
(1)考试前15分钟,专心通读完每一道题
(2)读完题后,在
上写好暴力的分的一些关键字(注意可行度)
(3)对数据的范围要敏感,如
——刚好可以状压 ,
——一定要注意开 long long
(4)当有n和m时或更多时,切忌读错(而且样例很可能给的是n=m)
(5)图论题注意重边和自环,以及环
2.数据类型
(1)有
或
出现时,要条件反射似的(最好再看看数据范围),
时一定要仔细计算有关的数据的极限会不会爆
,然后是否开long long或在表达式中加
(当然要测内存)
(2)取模之前不能有除,遇到有模数的题,预测会不会有除法
(3)再多个数
或
最后要取模时,稳点,
或
一个数就模一次(一般不会因为这个超时)
(4)取模最后还是写个
函数,也方便检查(注意有时会脑抽在x-=mod处,写成x-=y)
(5)模数不要自己打,复制粘贴
(5)还是要注意数据范围,long long 也会有炸的一天——高精度
(6)局部的数组和多测试数据时,注意数组清空
3.文件名
(1)一定要复制粘贴,尽管只有3、4个字母
(2)建好文件夹后,马上打freopen , 注意 stdin 和 stdout
(3)最后时间千万不要急,仔细地在检查一遍
4.调试
(1)对拍完后静态观察一波(有一些是可能拍不出来的)
(2)用完调试可以将它存在
中,不要留在
上
(3)可以用用
,再对拍大数据时可以动态观察
5.切分
(1)即使想到正解了,也要先打暴力
(2)最后除了暴力还有一档,最后正解很有可能在次档优化,也是防止优化错了
(3)最好切3档 暴力,特殊情况,正解
(4)注意切分的
顺序和之后一定不能少
6.内存
(1)每题一定要在定义完数组后求内存(sizeof(a))
(2)对拍完小数据后,特别造一组极限数据,看会不会
(3)切分切太多档导致数组的范围不同时,在数组上一行注释上着一档的范围
7.对拍
(1)打完return 0后就打srand(time(NULL)),这都是无脑的
(2)先拍小数据,小到“极限”,直到自己能手算模拟
(3)隔10分钟左右,逐步加大数据的范围,第3次时试试大的极限数据
8.代码编写细节
(1)头文件先打上最常用的(eg:iostream,cstdio,cstring,map,vector,algorithm,math),能用bits/stdc++.h还是用吧,有时候编译器比较傻
(2)变量名注意与系统的变量名重复,系统变量名(eg:y1,y0,hash,begin,end,rank,next,
pow,time,cos,prev,log2,index),最好取变量名第一个字母都大写
(3)
是为真的,当且仅当为
时为假
(4)for时考虑边界,是否有
时又有访问数组下标为
或
(考虑k的范围)
(5)变量最好开成全局,除for读入的变量
(6)小心同时定义两个变量时,前一个数为后一个数赋值时,本地测试是没有问题的,然而离线时就很有问题了
流程表
(1) 0 min ~ 20 min :
通读所有题目。
(2)20 min ~ 35 min:
想好每道最最暴力的分,并思考代码的可行性,最后再note上写好算法的关键字(一定要写!!!)。
(3)35 min ~ 50 min :
敲好
的暴力。
(4)50 min ~ 60 min :
稍微想想第1题的正解(讲道理第1题不会坑的…)。
(5)60 min ~ 1h 20 min :
- 若
正解想出,就先写且不要犹豫。
2.否则,直接去想 或 的暴力(此时应看题的难易程度)。
(6)1h 20 min ~ 1h 40 min :
1.若 正解写完,就紧接着(5)第2步去做。
2.否则再仔细看刚刚的敲完暴力的那题,看看数据有没有可以水的分,尽一切水到,当然,也要一定的写好相应的 。
(7)1h 40 min ~ 2h :
或 的暴力。
(8) 2h ~ 2h 10 min:
1.若 正解写好且 , 暴力敲好,就开始 的对拍。
2.否则,再一次全读题目,看是否是审题问题(看题的难易程度)。
(9) 2h 10 min ~ 2h 40 min :
1.若节奏一切良好, , 或 已写好,则尽一切可能去水完 或 的小数据的分。
2.否则,
(10) 2h 40 min ~ 2h 50 min :
1.检查第1题,若已经开始对拍,则开始跑一组大数据。
2.静态调试代码,通读代码,检查是否有致命的小错误。
3.游刃有余时,可以开始想 或 的正解。
(11)2h 50 min ~ 3h 10 min :
若想到 或 的正解,先写好 ,算一算复杂度,稍微想想代码实现的可行性,最后才开始写。
(12) 3h 10 min ~ 3h 20 min :
1.若 或 的正解写好,先手造一组小数据,然后拍极限数据。
2否则,再次读题,水分…
(13)3h 20 min ~ 3h 30 min :
检查。(具体看上文的温馨提示)。