让带家见识一下我的sb程度((
- 判断形如(acdot b+c(cll acdot b))是否爆
int
/long long
时,不能只判断(acdot b),要判断(acdot b+c),因为(c)有可能是压死骆驼的最后一根稻草。 - 线段树节点要维护一大堆东西的时候,通常查询时返回节点,此时空节点与非空节点合并时不能想当然,要特判。
set
/map
等高级的STL容器一般很耗内存,ML小的时候注意会不会爆,爆的话改成自己写的简单一点的DS。- 不能因为答案在
long long
范围内就忘取模;模数不能抄错,如(10^9+7)抄成(998244353)或(10^9+9)。 - 一大堆
min
/max
/abs
时括号位置不能矬,可以用高亮检查。 - 不要胡乱将整型塞进有关(log)的浮点函数里,可能会玄学爆精度。
- 维护一堆操作的题,如果维护的时候需要用到操作数(qu),那么不能
while(qu--)
而要for(int i=1;i<=qu;i++)
。 - 若(it)是一个指针,要将它位移(a-b)位的话,要写
it+(a-b)
而非it+a-b
,那样可能会越界。 - 尽量不要将多个相关的函数写进一个表达式里,这样运算顺序可能是UB。