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(不信自己试试)。

浙公网安备 33010602011771号