标签:
一、段错误/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
标签:
原文地址:http://blog.csdn.net/u011026968/article/details/38151911