attention!

大一的acm之旅就要结束啦quuuq:(

来写点需要注意的点叭。

最重要的:想清楚写法再开始写!!!

1.变量的范围!特别是推式子的时候

eg: $\sum_{i=1}^kn/i$ 去数论分块的时候, $l$ 和 $r$ 既要小于等于 $n$ ,也要小于等于 $k$ 。

eg: 数组内的变量要特别注意有没有小于最小值(0)或者是大于最大值,小心小心再小心。

2.注意内存限制!交之前如果有不确定的内存的话要用sizeof输出看看。

3.注意编号!特别是大小写,数字都在的情况下要搞清楚编号!

4.大常数log和小常数线性优先选择后者。

eg: $\text{SAM}$ 的构建和 $\text{parent}$ 树的遍历。

5.看清题目贡献的次数!是一个数贡献一次还是一对贡献一次。

eg: 若对于 $(i,j)$ ,有 $i^k=j$ ,则 $-b_j$ ,所以这个 $b_j$ 要减去多次,不止一次!

6.注意一下乘法,看会不会爆 $\text{int}$ 或者 $\text{long long}$ 。

7.在不会 $\text{T}$ 的前提下多取模!记得是 $\%=P$ !

8.$\text{vector}$ 的 $\text{size}$ 前面要加上 $\text{(int)}$ ,不然容易锅。

9.多测不清空,爆零两行泪!!!

10.考虑很特殊很特殊的情况!

eg: $n,m$ 很小的时候怎么样,算距离,特别是计算几何,起点终点相同时直接判 $0$ 。

11.抄 对 板 子

12.模数能复制就复制,不要手打。

13.凸包选择左下角。

原文地址:https://www.cnblogs.com/xjqxjq/p/15609866.html