下面的自己差不多都犯过,希望引以为戒。
1.及时取模,取模负数记得转成正数,注意乘法的过程中可能会爆long long,十年OI一场空,不开longlong见祖宗,一顿操作猛如虎,不开longlong250.
2.写了预处理的函数一定要调用。
3.函数一定要加上函数名,不要只加括号。
4.高精度要注意答案为0的情况。
5.结构体里的数组不能开得太大.
6.if();/for();直接加分号
7.线段树change&ask函数写判断范围
8.ios::sync_with_stdio(false);后还用scanf();
9.不要乱用memset,尤其是给double类型的赋初值。重点是还不容易检查出来。
10.最后5、6分钟的时候千万不要再改代码,因为大脑是不清楚的,尝试编译一下,不要CE。
11.数据输入不一定是按照编号输入的,读进来后需要排序。
12.不要把 ans定义为char类型的...
13.不要重复使用同一个变量,不要将很多变量用一个名字。
14.一定要对拍,就算不对拍也一定要出足够的数据。
15.线段树一定要update
16.树链剖分son和siz区分开
17.一定要来一组大数据,试一试会不会RE、TLE.
18.1<<N和N<<1区分开
19.注意数据范围里可能有0的可能
20.注意位运算的优先级
21.看清保留几位小数
22.倍增求LCA时可能会根据两个点的deep交换一下
23.论k和K的区别
24.图论注意可能存在自环和重边
25.算好空间!
26.分清continue和break
27.线段树down的时候一定要检查每个东西是否都down了。(比如不要忘记下传lazy标记).
28. 对拍的时候一定要写srand(time(0))...要不然拍的都是一样的数据
29.一定要读清题!多读几遍!
30.传参看清楚传的是编号还是权值
31.freopen()
32.不写return 0;成绩return 0;
33.快读不要写错
34.srand & ctime
35.从字符串里读数的时候注意会乘爆.
36.多测不清空,爆零两行泪。多输不换行,红色满屏幕。