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

  • 无向图邻接表的边表忘了 ×2,这是心口永远的痛;

  • 线段树数组开小是 ×4(乘 4 有时候不够)

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

  • 关于 SPFA,它死了;

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

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

  • 多次查询记得清空数组

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

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

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

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

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

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

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

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

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

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

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

  •   const int N=1e5+10; 
      int p[N]; 
      for(int i=1;i<=N;++i) p[i]=...
    
    
  •   然后你人没了。。。
    
  • freopen 记得在对拍的时候如果改了一定要改回来。。。

  • 双斜杠。。。

  • 记得取模!!!

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

  • 看清楚模数是什么。。。

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

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

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

  • 函数里定义变量要初始化

  • 变量不要取重复

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

  • 调用 cmath 库的函数注意浮点

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

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

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

  • 用数组最好从 1 开始用

  • 多 % 几次总是好的

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

  • 模数不是质数,Exgcd 走起

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

  • 不要直接复制 freopen

  • 快速幂指数不要 %

  • 有向边与无向边

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

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

  • 注意重边和自环

  • 复制粘贴细节没有改

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

	  int N=1e6;
      int a[N];
      for(int i=1;i<=N;i++){
      	a[i]=....;
      }

恭喜爆蛋!
  • getchar () Linux 下两个空格你不配!!!!!!
  • 1<<n-1 是 2^(n-1) 而不是 2^n-1
  • 不会的题就猜吧
  • 删除打表
  • 树状数组防止出现 <=0 的下标 233
  • 不会写高级数据结构想想代替的
  • 数组空间不能压线
  • 常数太大的时候尽量少使用 STL,每年都会有题目 5-10 分卡常,想象如何代替
  • 文件名千万不要手打,一定要复制,尽管文件名特别容易。如果 PDF 不能复制,用样例的名称去复制即可(考试是由样例文件的)
  • 不写万能头的 dalao 一定要记住不要忘记 cstdio 和 cstring
  • 注意输出格式 : 有时候输出两个数, 你至少要看清这两个数字之间输出的是空格还是换行。
  • 考前复习什么什么就不考
  • 能写多简单的数据结构就多简单,能用值域树状数组上倍增找 k 大就不要用平衡树.
  • 处理阶乘(fac)及其逆元(inv)要注意 0 的处理 当然组合数计算有特判的大佬就不需要管辽
  • 全世界只有我把 1e9+7 打成 10e9+7 的嘛
  • 快读别打错
  • 堆优化 DJ 的 make_pair 以第一关键字比较,不能反过来
  • 还有把 1e9+7 打成 1e9+9 的
  • multiset 删除一个元素 x 要写:s.erase (s.find (x)) 而不是 s.erase (x)
  • 如果递归变量每层都不一样,要在递归里申请
  • #include <bits/stdc++.h> 万能头里面 ‘/’ 写成 '' ,DEV 编译是能通过的。 不注意一下就是可能喜提 CE 了 .
  • next 是关键字,用作变量名喜提 CE *2
  • 如果打万能头或者用了 cmath 头文件,那么这些都是关键字 j0 , j1 , jn , y0 , y1 , yn , chgsign;DEV 还是检查不出来,用了喜提 CE *3。
  • 如果使用 cin 来读入 string 的话一定不要关闭流同步,会导致你的程序莫名其妙地全部 wa 掉
  • random 也是关键字
  • 不写 return 0 会有几率错误,但是一般默认返回值都是 0. 不要 return 一个其他值,这样会导致 RE
  • (cin,cout)和(scanf,printf)混用时千万不要关闭流同步
  • 用 sort 时如果要规定排序方式,用 <,>, 千万别用 <=,>=
  • strlen () 函数的时间复杂度是 O(n) 的
  • deque 最多开 1e5(64MB) 个,剩下的 STL 容器最多开 1e6 个。deque 是存第一个元素时开的准备空间贼大,剩下都是线性拓张的,所以 spfa 写 deque 是没有问题的;deque 的拓展方式区别于 vector 的,vector 是倍增开空间。

4 条评论

  • 1