noip前错误整理(update:HEOI前错误整理)
X_stream
2018-03-24 21:19:31
发现自己是机房刷题最少选手(update:仍然是)......所以可能总结的错误都非常基础(还有远古错误),还有一些大概全机房只有我一个会错的问题QAQ。望大家见谅......
顺便,大家的总结真的是太神了!orz
update:错误依旧是一些很水的错误……但发现个人一般大部分的错误实则就是这些小问题,对于不同的题有一些特殊错误,在此可能不全。
------------
1.**一定要记得加freopen,记得检查一下文件名和子文件夹是否符合要求**
------------
## 数据类型相关
1.数组和变量类型要考虑好,注意精度和数据大小,根据具体情况开long long之类的。注意一些有除法,开根操作的运算结果可能为小数,要开double什么的,数据太大看一下是否需要高精
2.运算过程中注意不要越界,用于循环的变量(i,j,k等)也有可能会爆int,也要稍看一下(必要时注意强制转换)
3.对应的类型要注意对应输出(大概只有我曾经用%d输出long long吧)
4.函数的类型和return的类型要保持统一
------------
## 初始化相关
1.需要初始化的数组/结构体/变量一定要记得初始化,多组数据是要注意清空
2.远古错误:用memset赋1
3.数据大时注意inf的值要够大
4.估计只有我一个矩阵快速幂的时候忘了初始化成单位矩阵
5.乘法运算时不要把初始值赋为0
------------
## re
1.dp之类的题中,数组下标一定要注意不能为负数
2.倍增之类的题中数组下标不要太大越界
3.算要开多大时注意一下乘除法要算对...manacher插字符时不要只开到输入字符串的大小
4.双向边边要开2倍
5.先写完暴力想到正解后要把各种数组开到正解数据大小
------------
## mle
1.记得算一下空间,stl一定要注意
2.结构体的空间要记得算结构体内的东西……不要算成一倍空间
------------
## tle
1.对于一些搜索优化,不要反向剪枝(比如各种数独先搜空位多的块)注意一下记的是没填块的个数还是填了的(大概只有我一个记错了)
2.注意不要无限循环,看一下while和for是否一定会跳出循环,差分约束之类的注意判负环。我甚至可以写快速幂忘了在while里写次数>>1。
------------
## wa!
1.注意一些手残问题,比如敲反加减号,敲反大于小于号,priority_queue重载反了,合并数据结构的时候x和fa[x]写串了这样
2.sort会打乱数组顺序,注意求前缀和之类的位置在sort之前还是之后
3.判质数时记得标上1不是
3.当线段树lazy=0有意义时初始化就不要赋零了,当然把0作为修改标记本身就很奇怪。另外注意不要忘了向上更新和及时下放
4.注意各种区间的开闭
5.注意特判各种特殊数据,特殊情况
6.注意一下是否需要加abs()或fabs()
7.有的退栈时不仅要top--,还要注意清空里面的信息
8.注意看题目是否要求无解输出-1等
9.注意一下加边是单向边还是双向,相应的结构体开的大小也要注意
10.读入字符的姿势不对,就会读进一堆奇怪的东西(大家就肯定没问题啦
11.背包注意一下如果某种物品必选的转移
12.ios::sync_with_stdio()加了后就一定不要顺手敲一个scanf上去
13.变量名不要记混它的意义,注意全局变量不要在函数里随便修改
14.注意区分break,continue(有时候还有return)不要打错了
15.不要除0
16.注意随时取模
17.题意要理解对,不要忽视题目条件
18.二分边界注意一下,精度看一下
19.printf会自动四舍五入,有的题要注意一下上取证还是下取整
20.快速幂,逆元等基础内容不要求错……比如快速幂写成while(k>1)这样
21.记得删debug时中途的输出
22.如果需要反边(比如网络流)要记得把邻接表里记录边的cnt初始赋为1之类的处理一下
23.处理区间问题(如维护序列)这种记得按需求将两端边界初始化(比如赋极小值)
24.各种数据结构要记得注意加上update……
25.我有独特的wa掉技巧!~~其实还有很多愚蠢错误不再说明~~
------------
## 其它注意事项
1.对拍时造数据多组数据rand出来的t记得要输到数据里,要不然会拍出奇怪的答案
2.心态不要炸,一时间没想法也没事,因为~~像我这种~~更蒻选手应该更没有想法
3.我也不知道为什么我会忘记输出答案,还以为自己又奇怪的re了之类的qwq
4.考试的时候不要执着于一道题……至少要记得先把能打的暴力分写全再继续调试……不然可能会出现没时间写的情况
5.记得把样例文件(或一些交互题需要的文件)放在同一个文件夹运行,不同的程序起名要分开。~~论为什么在THUWC考场上让监考给我调了1h交互库~~
~~最后,祝大家noip2018AK虐场!~~
**update:祝大家HEOI2019AK虐场!**