下面的自己差不多都犯过,希望引以为戒。

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.多测不清空,爆零两行泪。多输不换行,红色满屏幕。