debug技巧

最重要的一点:调不出题时看看这里,有空也时不时看一下,比赛前更要看一下,最好全文背诵!!!

1.多关键字排序(比较)问题,第一关键字相等时的处理。

2.stl sort排序中comp(a,b)=1并且comp(b,a)=1时会出问题。

3.多次操作的先后顺序,有时候先执行的操作会影响后执行的操作中变量的值。

4.double转int/long long int时向0取整而非向下取整。

5.连等号后面赋值可能影响前面赋值。

下面是对拍都可能检查不出的问题:

1.多测清空,确保每个数组的每个位置都有清空(如果你暴力和正解都没清空,答案又恰好一样......)。

2.特判(如 $n=1$ 等),自己手动计算的结果是否正确

3.最好不要用bool变量,因为用%d读入bool变量可能会出问题(bool 8字节,int 32字节,可能导致访问之后的内存)。

4.不要用1e9或者1e18代替极大的数!!!!!理由是1e9表示浮点数,转成整数可能会出问题。

(理论上3和4都可以拍出来,但是我之前有过犯这种错误没拍出来的经历)

5.计数题中值域大于或等于模数时有的写法会出问题(不特意构造基本不会出事)。

6.unknown behavior(主要是bitset用带符号整数的傻叉行为,以及日常注意不要用奇怪的语法)。

7.splay

8.bitset ull右移64位结果可以不是0(不信自己试试)。

posted @ 2022-06-27 14:40  CCF组题人有100个母亲  阅读(130)  评论(0)    收藏  举报