- 分享
哪些年一起犯得错误
- @ 2025-8-16 12:48:27
-
两个 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 条评论
-
friend_me LV 4 @ 2025-10-2 11:03:21没有人
#define int long long然后炸了的吗?🤔 1 -
@ 2025-8-29 19:05:19不写return 0错误的几率来自哪里
-
@ 2025-8-25 18:09:36next和random显然不是关键字
-
@ 2025-8-16 12:54:17
欢迎大家补充
- 1