版权声明:欢迎转载(请附带原链接)ヾ(๑╹◡╹)ノ" https://blog.csdn.net/corsica6/article/details/83011080
文件错误
1.文件名打错
2018.10.11
T1:
freopen("forging","r",stdin);
freopen("forging","w",stdout);
看着好像没什么不对??
freopen("forging.in","r",stdin);
freopen("forging.out","w",stdout);
100分惨变0分
总分150惨变50分
rk5惨变rk22
内存错误
1.数组开小
2018.9.21
T1(bzoj5218友好城市):
const int N=155,M=3e5+10,MX=5e4+10;
struct Q{int l,r,id;}qr[MX];
emmm,实际上询问是
const int N=155,M=3e5+10,MX=5e4+10;
struct Q{int l,r,id;}qr[M];
100分惨变30分
总分190惨变120
rk1惨变rk2
const数组常量最好不要开多个,很容易混淆。
爆int
这类错误几个月前犯的很多。
变量名打错
2018.10.8
T2:
printf("%d\n",(f[x][m][K]+f[z][m][K])%mod);
emmm,实际上这里应该是上一个y
printf("%d\n",(f[x][m][K]+f[y][m][K])%mod);
i,j打反,顺手数组打错等等。
原因:
- 码的时候过于着急
- 注重速度的同时没有仔细看自己打的代码(跟着逻辑走)
- 没有理解清楚每个变量的含义和之间的关系
- 没有仔细检查
这种错误检查的时候也很难看出来,就算看出来了也很难检查全。 - 一些变量设成了全局变量,导致错用一个不在分函数里的变量也没有RE,最终导致了WA/RE/TLE
分函数错误
1.传值/址错误
最近写搜索题时新发现的一个问题,数组传值进函数需要用结构体,否则直接f(int res[][])会传址,(即使是另一个函数的局部变量也会改变)
2.没有return
int,long long类函数没有return!不会RE但是会WA
初始化错误
多组数据时没有清空上一轮数据或没有优化清空方式导致TLE
判断错误
多层if/else一定要多打大括号!
注意事项
- 一定要先手玩样例无误后再开码
- 一定要对拍!
- 最后15/10/5分钟不要着急写新的代码,要检查文件名输入输出
- 检查的时候顺便在文件里( )输出输出看一下
- 为防止 ,构造满数据跑一跑
- const数组常量最多开两个
- 输出所有的数组的sizeof()注意不要MLE
- 检查题目中给的数据范围和对应的数组大小