-
没开 $long\ long$。
-
输入区间时,要判断是否 $l<=r$,如果 $l>r$,记得 $swap$。
-
取模要模够,切忌
ans+=……%MOD
。 -
$Floyd$ 无路要标记为正无穷。
-
多测变量要清空,输出要换行。
-
多测清空不要轻易用 $memset$。
-
数组开得不够大。
-
数组越界。
-
数组下标出现负数。
-
分段时判断条件不要写错。
-
线段树数组开 $4$ 倍,链式前向星无向图数组开 $2$ 倍。
-
max min y0 y1 time next
不能作为变量名。 -
如果递归前存储的变量递归后还要用,要开局部变量(如果开全局变量,递归下一层时会修改变量的值)。
-
cin
cout
关闭同步流后不能与scanf
printf
混用。 -
debug时不要只盯着自己认为错的部分,有可能错的是其他部分。
-
0 作除数。
-
$\gcd$ 要写
return y?gcd1(y,x%y):x;
而不是return x%y==0?y:gcd1(y,x%y);
,因为后者如果 $y=0$ 会 $\text{RE}$。 -
开 $O2$ 自定义函数如果类型不是
void
同时没有return
会 $\text{RE}$。