zhizhang错误(每天更新更新)

做题反思(Think twice ,Code once)

1.2013NOIP转圈游戏,交代码前一定要静态查错,看看代码写得和自己意思一不一样,竟然把变量n写成了常数10,低级错误
2.2013NOIP积木,思考时一定要多化简,先考虑小规模,比如先考虑n=1,n=2
3.交题前,一定要用文件输入样例,文件输出,切记一定要把freopen放在最前面
4.认真分析时空复杂度(空间不可小觑)
5.严防数组越界(+1)
6.删除debug
7.dp边界
8.sum边界
9.重建图一定要记得清空tot,head数组
10.数组的定义要明确
11.dp的转移顺序要一致
12.int main(mian)
13.交之前一定要检查变量类型
14.小心变量\(x_1,x_2,y_1,y_2\)
15.随机数生成器千万别写错
16.可能达到的边界
17.注意重边
18.注意for循环的边界尤其是dp的时候
19.线段树<<2
20.find()!=end() (MAP)
21.检查dp状态是否枚举不重不漏
22.注意地图边界(0\1)
23.二分答案时,如果记录方案一定要记住不能直接if r else l ,要check(l)
24.做乘法时,为了避免爆long long,将\(a\times b<=r,转化a<=\lfloor r/b \rfloor\),先判定再相乘
25.关于取模的时候,一定要注意爆int,long long ,能提前开变量取模的就提前开变量取模
26.关于set使用的时候,一定要注意边界,尽量不要用end()--,千万不要使用begin()--,还有如果用set访问不存在的位置,会死
27.topsort:一定要将所有入度为0的点都放进队列(TARJAN+topsort找路径)
28.涉及到乘法取模的时候,一定要注意,只要出现两个相乘就一定要取模,注意运算的顺序(SAO)
29.注意判断无解的情况,(NO change ,音量调节)
30.一定不能对负数取模(10.23考试T2)
31.加法也要注意不要加爆,尤其是初始化的值是INF时(noip2017宝藏)
32.注意极端情况,n = 1(noip宝藏)
33.注意多组数据不光要清空数组,也要清空变量(NOIP2017逛公园)
34.二分答案的时候,如果没解要出来特判一下
35.局部变量一定要赋初值
36.矩阵乘法注意首项特判
posted @ 2018-08-29 20:27  ART_coder  阅读(175)  评论(0编辑  收藏  举报