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、多重循环的时候 变量弄混

 7、看是不是过程中数据计算超出范围

三、线段树错误及调试

         1、mid+1;

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

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

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

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

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

        

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

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

         1、%lld %I64d

原文地址:https://www.cnblogs.com/brucemengbm/p/6729305.html