首页 > 代码库 > ACM 刷题错误总结 持续更新并持续回顾中o(╯□╰)o

ACM 刷题错误总结 持续更新并持续回顾中o(╯□╰)o

一、段错误/RE

   

1、& 变量取地址

2、数组越界

3、爆栈,

         很可能是死循环,ruturn的边界没有处理好,或者是递归的内容里有死循环的部分。

4、线段树

         逢写必错,都是build(i*2+1,tmp.mid+1,r);这里忘记加一了。

 

 

二、一些莫名其妙的逻辑错误

1、多重的if else 检查是不是有问题,if else一定要把所有的可能情况罗列,以保证没有逻辑错误。if else 一定把所有的情况逻辑都理清,这题Debug的时候稍微变了下写法,又WA了很久,代码也贴在后面了。Debug的时候,重用代码的时候好好理理思路,很可能是老思路跟新思路的差异产生新的bug

2、初始化,以及多次宏定义Min(a,b)(a)<(b)?(a):(b),符号弄错

3、多重循环的时候,注意i和j ,Tmd 今天一到二部图的题因为这多谢了几个小时,草

4、log(2)可能CE,用log(2.0)!!!

5、初始化&&每次是不是清空,初始化里面数组是不是下标写错

6、多重循环的时候 变量弄混

 

三、线段树错误及调试

         1、mid+1;

2、建树的时候祖先节点为1;

调试的时候,注意线段树分buildupdate query 分开pause 看哪个错误,在函数体里打印句子,看是否死循环或者初始化不对

 

四、读题上,格式方面,注意:
         1、是否有空行;

         2、什么是结束标志,今天的题,字符串结束标志是’.’,我傻逼的EOF…做了一下午加一晚上……

3、取模,注意取模的要求,可能只是一步的取模 LA3027 合作网络那题………….

        

五、理解的问题:
         1、字典序:注意“1000”<”300”,即字典序与数字的大小并不相同

 

六、在codeblocks上面编译通过但是提交却re,ce

         1、%lld %I64d

 

ACM 刷题错误总结 持续更新并持续回顾中o(╯□╰)o