UOJ Logo sharpland的博客

博客

那些年,我们一起经常犯的错误

2023-01-26 21:23:40 By sharpland

总结的常见错误列表,欢迎大家补充!!

1、 两个int相乘,50%几率会爆了int。(不开long long见祖宗)

2、 无向图邻接表的边表忘了 $\times$ 2,这是心口永远的痛;

3、 线段树数组开小是 $\times$ 4(乘4有时候不够)

4、 调用多个函数不仅容易tle,还会mle

5.关于SPFA,它死了;

6.注意数组空间,(开了long long见祖宗)

7.永远不要把n和m打错.

8.多次查询记得清空数组

9.STL函数的区间大多是左闭右开

10、long long类型printf("%d",*).

11 要查反边的时候邻接表要从2开始存、

12 高级编译器不会查出void函数不打void的错误。=

  1. 返回函数值一定要写return,windows下会自动return某一值(比如说并查集)。

  2. 函数参数为数组时不能用memset和memcpy操作这个数组,必须for循环

  3. 多组输入数据时记得初始化

  4. strlen是O(n)的(别放在while里面)

  5. Yes!=YES No!=NO,请尽量复制样例里的输入输出。。。

  6. Ctrl+z悠着点按,版本问题很致命。。。

  7. 分数比较要除法改乘法(并开long long)

  8. const int N=1e5+10; int p[N]; for(int i=1;i<=N;++i) p[i]=... 然后你人没了。。。

  9. freopen记得在对拍的时候如果改了一定要改回来。。。

  10. 双斜杠。。。

  11. 记得取模!!!

  12. 小心别把提交文件夹的-打成下划线。。。

  13. 看清楚模数是什么。。。

  14. 千万别再没调出正解的情况下把暴力删了。。。

  15. 多组数据注意每次输出的换行,多用文件调试。。。

  16. 千万不要和那些大佬一样每次取模都是+和-mod,经本人多次试验, 很多时候他操作完两个数之后只+或-一个mod根本不够。。。

  17. 函数里定义变量要初始化

  18. 变量不要取重复

  19. 除法取模要逆元(逆元要保证模数是质数)

  20. 调用cmath库的函数注意浮点

  21. 对于xxx.cpp,永远不要加入system("xxx.exe")

  22. 不记得运算符号优先级就一定要加括号

  23. 链表模拟一定要用数组,不要用指针极容易re(卡常大佬请忽视)

  24. 用数组最好从1开始用

  25. 多%几次总是好的

  26. 手写栈或者队列什么的,把指针清空

  27. 模数不是质数,Exgcd走起

  28. 浏览全局数据,数据范围最大的不一定是最后一个点

  29. 不要直接复制freopen

  30. 快速幂指数不要%

  31. 有向边与无向边

  32. 某些位运算符优先级低于比较符

  33. 数组空间尽量不要开成2的次幂,最好是奇数

  34. 注意重边和自环

  35. 复制粘贴细节没有改

  36. const int twx=+100;数组没开,小数据过了,成功爆蛋

  37. int N=1e6;
    int a[N];
    for(int i=1;i<=N;i++)
    {
    a[i]=....;
    }
    恭喜爆蛋!
  38. getchar() Linux下两个空格你不配!!!!!!

  39. 1<<n-1是2^(n-1)而不是2^n-1

  40. 不会的题就猜吧

  41. 删除打表

  42. 树状数组防止出现<=0的下标233

  43. 不会写高级数据结构想想代替的

  44. 数组空间不能压线

  45. 常数太大的时候尽量少使用STL,每年都会有题目5-10分卡常,想象如何代替

  46. 文件名千万不要手打,一定要复制,尽管文件名特别容易。如果PDF不能复制, 用样例的名称去复制即可(考试是由样例文件的)

  47. 不写万能头的dalao一定要记住不要忘记cstdio和cstring

  48. 注意输出格式 : 有时候输出两个数, 你至少要看清这两个数字之间输出的是空格还是换行。

  49. 考前复习什么什么就不考

  50. 能写多简单的数据结构就多简单,能用值域树状数组上倍增找k大就不要用平衡树.

  51. 处理阶乘(fac)及其逆元(inv)要注意0的处理 当然组合数计算有特判的大佬就不需要管辽

  52. 全世界只有我把1e9+7打成10e9+7的嘛

  53. 快读别打错

  54. 堆优化DJ的make_pair以第一关键字比较,不能反过来

  55. 还有把1e9+7打成1e9+9的

  56. multiset删除一个元素x要写:s.erase(s.find(x))而不是s.erase(x)

  57. 如果递归变量每层都不一样,要在递归里申请

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。