关于评测中的各种错误原因
一.WA
1.一般情况下都是你真的WA掉了
2.该long long没开,越界之后可能也会WA掉
3.有可能你数组开小了,电脑可能自动就占了下一个数组的内存,这个时候就相当于你的数组中的值就错了,也会WA掉
数组开小了,并没有下一个数组可以被抢占,仍然WA了
4.请评测时注释掉freopen,不然你永远都想想不到会发生什么
二.TLE
1.一般情况下都是你真的T掉了
2.我还是因为数组开小了T过
3.某个循环对于某些数据死循环了
4.递归的函数之类的重复搜,死在里面了
5.如果想要用continue剪枝,一定要确保被continue掉的语句中有循环之类的,如果只是个O(1)加减赋值之类的东西,请勿continue,因为毫无意义,且if可能更慢
三.MLE
1.目前只碰到过真的是开太大,开炸了
四.RE
1.数组开小了
2.栈溢出
3.取用了空的vector中的元素
4.没开long long
5.RE中总会出现一些奇奇怪怪的错误,有时候随机生成一些大数据试一试是个不错的解决方法
6.边界没设对,数组越界了,本机运行就会直接段错误
五.CE
1.你真的编译错误了,信息中会给提示
2.你的万能库被卡了
3.我有一次给一个二维数组在定义时给[0,0]这个值赋了初始值
像这个样子:a[5000][5000]={1};
老师说了一些很专业的名词,我也没太听懂,总之尽量避免这样就好了
PS:前两天打高精乘低精,初始化的时候发现一维数组这么开可能也会死翘翘,所以别这么干就可以了,毕竟你自己可以运行,你就并不知道自己会不会这么编译错误,万一考试的时候就这么CE了,你怕会想打死寄几
4.其实编译错误里也会有些奇奇怪怪的东西,但是一般都会有提示,如果是英文的,百度翻译一下就好了