大一的acm之旅就要结束啦quuuq
来写点需要注意的点叭。
最重要的:想清楚写法再开始写!!!
1.变量的范围!特别是推式子的时候
eg: ∑ i = 1 k n / i \sum_{i=1}^kn/i ∑i=1kn/i 去数论分块的时候, l l l 和 r r r 既要小于等于 n n n ,也要小于等于 k k k 。
eg: 数组内的变量要特别注意有没有小于最小值(0)或者是大于最大值,小心小心再小心。
2.注意内存限制!交之前如果有不确定的内存的话要用sizeof输出看看。
3.注意编号!特别是大小写,数字都在的情况下要搞清楚编号!
4.大常数log和小常数线性优先选择后者。
eg: SAM \text{SAM} SAM 的构建和 parent \text{parent} parent 树的遍历。
5.看清题目贡献的次数!是一个数贡献一次还是一对贡献一次。
eg: 若对于 ( i , j ) (i,j) (i,j) ,有 i k = j i^k=j ik=j ,则 − b j -b_j −bj ,所以这个 b j b_j bj 要减去多次,不止一次!
6.注意一下乘法,看会不会爆 int \text{int} int 或者 long long \text{long long} long long 。
7.在不会 T \text{T} T 的前提下多取模!记得是 % = P \%=P %=P !
8. vector \text{vector} vector 的 size \text{size} size 前面要加上 (int) \text{(int)} (int) ,不然容易锅。
9.多测不清空,爆零两行泪!!!
10.考虑很特殊很特殊的情况!
eg: n , m n,m n,m 很小的时候怎么样,算距离,特别是计算几何,起点终点相同时直接判 0 0 0 。
11.抄 对 板 子
12.模数能复制就复制,不要手打。
13.凸包选择左下角。