sb 错误
- 数组开小。很容易 \(2 \times 10^5\) 或 \(10^6\) 就开成 \(10^5\),或者各种变量的数据范围混用,\(m \leq 5\times 10^5\),结果只开到了 \(n\) 的数据范围 \(10^3\)。(upd. 2020.8.31),upd 2021.2.6 又犯了一次。
- 多测不清空。算法中要用到 \(a[n+1]\) 结果只手动清到了 \(n\)。(upd. 2020.8.10)当然有的时候多测是修改一部分值,如 CSP-S 2020 T4,遇到这种情况就要检查每次询问结束 \(a\) 数组是否还原到了询问前的样子(upd. 2020.11.8)upd 2021.2.16 又犯了一次
- 忽略了一些比较隐蔽的条件。例如 APIO2020 T1 一开始忽视了 \(\sum f(k)^2 \leq 4\times 10^5\) 这个条件,以为是给部分分用的,结果就一直在想 \(n \log n\) 级别的算法,浪费了很多时间,事实上这隐含着 \(f(k) \leq \sqrt{4\times 10^5}\) 的条件。(upd. 2020.8.15)
- 把题目中的 \(a\) 与 \(b\),\(n\) 与 \(m\) 的含义搞反了,或者没看清读入顺序,明明是先 \(m\) 后 \(n\),读成了先 \(n\) 后 \(m\)。(upd. 2020.10.6)
- 写了个错误的程序对拍(upd. 2020.10.6)
- 碰到那种二维平面的题,“格子”与“格点”,以及坐标轴的方向搞错了。(upd. 2020.10.14)
- 想出了一些复杂度较高却又没啥办法优化的 dp 式子,然后就一直盯着它进行优化,可有时这种题偏偏不是 dp(upd. 2020.10.15)
- %lld 写成了 %d(upd. 2020.10.19)
- 二分上界开小了(upd. 2020.10.19)
- 注意 0 没有逆元,有的时候计数 dp 用到除法(除以另一个 dp 值)那基本上不太行的(upd. 2020.10.19)upd. 2021.7.6 其实是可以的,按照 SDOI 切树游戏 的套路来搞即可
- 考试最开始没有花时间把每道题都浏览一遍,导致有时候最后一题反而能拿些分的却没拿到。(upd. 2020.10.22)
- 没有对拍,或者对拍浪费了很多时间,导致该拿的分没拿到。最后与自己的预期相差甚远。(upd. 2020.11.1)
- 手写队列、栈等时以及莫队中,++ / -- 是前置还是后置要想清楚。(upd 2020.11.17)
- 多测的时候,有时候读到一部分数据就可以确定答案了,但此时你不能直接 continue,要把全部数据读完(upd. 2020.12.11)upd. 2021.10.21 差点又犯了一次,还好最后脑子比较清醒想了起来(
- 有的时候,值域 \(\leq 10^9\),而模数只有 \(998244353\),此时你就不能用直接加,大于 \(mod\) 就减去 \(mod\) 的方式取模(upd. 2021.1.12,这个是 csy 跟我讲的)
- 有时候点标号从 \(0\) 开始,进而会习惯性的 \(+1\),即
int u,v,w;scanf("%d%d%d",&u,&v,&w);u++;v++;。结果把u++;v++写到了scanf("%d%d%d",&u,&v,&w);的前面。(upd. 2021.1.31) queue忘pop(upd. 2021.1.31),upd. 2021.2.18 又犯了一次,upd. 2021.6.28 梅开三度pw10,hash,pipe在 linux 下是关键字,但在 windows 下测不出来,要格外注意(upd. 2021.1.31)- 内外层循环变量名取重了。这种情况即使开 -Wall 也测不出来(upd. 2021.1.31)upd. 2021.4.7 开 -Wshadow 似乎可以测出来
- 莫队记得先
push再pop,不然可能会出现一些奇怪的问题(upd. 2021.2.1) - 有的时候数组有用的下标不会越界,但可能会用到越界的下标,即使这些越界的下标没有用也要记得把数组开大,否则会出现一些奇怪的问题。(upd. 2021.2.1)(upd on 2021.10.22,有时侯比较明显的下标越界编译器会提示出来,譬如如果你循环到 2e5 数组只开了 1e5+5 它就会显示 iteration 100005u invokes undefined behavior)
- 读入中的变量名可能跟循环中的变量名重复(譬如 \(k,d\) 等)(upd. 2021.2.2)注:2021.2.6 又犯了一次该错误,线段树递归时的 \(k\) 与读入的 \(k\) 重复了。upd. 2021.4.7 开 -Wshadow 似乎可以测出来
- 要特别注意运算过程中爆 int 的情况,譬如如果 \(a\) 为 long long 型变量,\(b,c\) 为 int 型变量,那么如果你写
a*(b*c)那么程序会先计算b*c的值,就有爆 int 的风险。(upd. 2021.2.3) - 遇到与网格有关的题的时候,要特别注意是四连通还是八连通(upd. 2021.2.4)
- 冰茶姬忘了初始化(tips:如果实在忘记可以写
int find(int x){return (!f[x])?x:find(f[x]);})(upd. 2021.2.6) - 可撤销冰茶姬千万不能路径压缩(upd. 2021.2.6)upd. 2021.10.22 打线段树分治模板时又犯了一次(
- static 关键字修饰的变量与全局变量的唯一区别就是 static 关键字修饰的变量不能在局部域之外的地方被调用,否则会 CE。故如果你用 static 修饰的变量当作临时备份那么它在接下来几轮的递归中也会被修改,进而会导致 WA。(upd. 2021.2.7)
- 可撤销冰茶姬按秩合并的“秩”是深度,而不是树的大小,按大小来合并的叫“启发式合并”(upd. 2021.2.7)
- 有时候做计数题的时候要我们对 \(p\) 取模,有时候我们会特判掉一些情况(比如说 \(2\)),但你不能直接
puts("2");,要printf("%d\n",2%p);,经常 有时候会有毒瘤出题人专门卡这个。(upd. 2021.2.15) - 三个 <998244353 的数加起来会爆 int(upd. 2021.2.16)
- (其实是 30 的扩展),有的时候计数题会写
ans=(ans-sum+MOD)%MOD;,然后你发现自己式子推错了,不是减而是加,此时你不能只习惯性地把减号改成加号,而应当把后面的+MOD去掉,因为三个 <998244353 的数加起来会爆 int(upd. 2021.2.16)upd. 2021.10.21 又犯了一次 - 把模数看错,1e9+7 看成 998244353(upd. 2021.2.16)upd. 2021.5.1 又犯了一次
- 当把一个数组赋上 -INF 时,以前习惯写
memset(dp,128,sizeof(dp));,但实际上这样是不明智的,因为 0x8080808080808080 大约是 \(-9\times 10^{18}\),两个 0x8080808080808080 加起来会爆 ll。所以最好写memset(dp,192,sizeof(dp));,这样两个加起来不会爆。同样道理最好也不要写memset(dp,127,sizeof(dp));而改写memset(dp,63,sizeof(dp));(upd. 2021.2.18) - 当你忘记运算符的优先级时最好多加几个括号,这样不会吃亏(upd. 2021.2.19)
- 敲 SA 的时候,数组长度有的时候不是 \(n\)(长度变量名为 \(m,k\) 或其它的),但总习惯性地敲成 \(n\)(upd. 2021.2.22)
- 变量类型一定要注意,不要出现
int开成double的情况,否则可能会让你调到怀疑人生(upd. 2021.3.13) - set 上定义的 "<" 一定要是严格偏序关系,也就是必须满足传递性,必须不满足自反性,否则可能会出问题。(upd. 2021.3.13)sort 里的 cmp 函数也是如此(upd. 2021.8.16)
- 当 \(x\) 超过
int范围时,调用builtin_popcount会出问题,需调用builtin_popcountll(upd. 2021.3.15) - 对于结构体中含数组的,一定要记得手写构造函数清空数组,否则会出现奇怪的问题(upd. 2021.3.26)
- 对于字符串长度,比如说读入长度为 \(3\) 的字符串,数组长度千万不能只开到 \(3\),一定至少开到 \(4\),因为程序读入字符串后会自动在后一个位置填上
\0,如果只开到 \(3\) 会导致数组越界(upd. 2021.3.26) - (其实也不能叫 mistake?)在 C++11 下交换两个 STL 是 \(\mathcal O(1)\),不开 C++11 下交换两个 STL 是 \(\mathcal O(\max(\text{STL 大小}))\) 的,这一点需注意(upd. 2021.3.27)
- 在写网络流的时候,一定要算好网络流的边数和点数的规模,不要随随便便地就将
MAXV和MAXE设为一个“感觉比较大”的值,比方说 2e5,这样有可能会 RE(upd. 2021.3.31) - 注意浮点数误差,碰到 double 的比较运算时,最好不要直接用
!= == < >什么的,写个 EPS 比较大小(upd. 2021.4.1) - 带修莫队时间轴那一维指针,记得先更新贡献再移动指针(upd. 2021.4.1)
- IDFT 完后数组中的元素不要忘除以 \(n\)(upd. 2021.4.2)
- 在进行多项式 EXP 时一定要保证常数项为 0,否则会出现奇怪的问题(upd. 2021.4.2)
- 写矩阵乘法的时候一定要注意乘法的顺序(upd. 2021.4.5)
- 一定一定要看清楚部分分的数据范围,subtask 判断是否在数据范围内时不要判错(联合省选 2021 D2T3,upd. 2021.4.11)
- data 在 C++17 上是关键字,在 OJ 上提交时需注意(upd. 2021.4.23)
- 如果模数是 \(2\times 10^9\) 级别的,要注意加法溢出的可能性!!!!!(upd. 2021.4.24)
- 求 SCC 弹栈时一定要把对应节点的
vis设为 \(0\)!!!111(upd. 2021.4.30) - 在二分 check 的过程中忘了清空(upd. 2021.5.8)
- 注意
set的迭代器失效问题,具体可见这里(upd. on 2021.5.13)(upd. on 2021.6.30) - 对于那些濒临爆溢出的数,比方说 \(2000\) 个 \(10^6\) 级别的数相加(\(2\times 10^9\)),也要注意爆 ll 的可能性(upd. 2021.6.25,vp edu 89)
- 注意运算符优先级!(upd. 2021.6.30)
- 写 wqs 二分时注意斜率有可能为负,因此二分下界不能想当然地设为 \(0\)(upd. 2021.7.13)
- 注意
int型变量不要错误地开成bool(u1s1 感觉int严格强于bool?)(upd. 2021.7.29) - HDU 上 long double 不要 printf(其实大概不算 mistake,大概算 HDU 的 feature)(upd. 2021.8.10)
- 离散化不能只 sort,记得 unique,也要记得要在 unique 后的数组中 lower_bound(upd. 2021.8.11)
- 对于一个
int型变量 \(x\),如果我们设了一个int型的标记变量flg,flg=1当且仅当所有 \(x\) 都 \(\ne 0\),那么如果你写flg&=(x)就凉透了,要写flg&=(x!=0)(upd. 2021.8.11) - 有时候我们会用 \(0\) 表示空,但如果数的值域就包含 \(0\) 就不能用 \(0\) 了,得用 \(-1\),如果还包含 \(-1\) 就得用 \(\infty\)(upd. 2021.8.13)
- !!! 如果比赛不开 C++11,提交前记得检查是否有 C++98 禁止的东西,点名
vector<vector<int>>、for(int x:g[u])、[&](int x,int y){return dfn[x]<dfn[y];}!!!!!(upd. 2021.8.22) - (大概也不能算 mistake)倍增把小的那一维放在前面会快不少(upd. 2021.9.29)
- LCT 一定要记得
pushdown啊!!!!!!!(upd. 2021.10.11) unordered_map空间常数很大,对于部分空间限制较小的题,使用unordered_map有可能会导致 MLE(upd. 2021.10.22)- STL 的
size()返回的是 unsigned,如果你那一个signed减去一个unsigned结果可能会溢出,这点需特别注意(upd. 2021.11.5) - 注意特判孤立点(upd. 2021.11.15)
sb 错误的更多相关文章
- 日记 + sb错误
置顶消息cpdd 1.29 完了,文化课没了 我是废物 1.28 更新了自己的副标题 前副标题:Future never has to do with past time,but present ti ...
- 【拒绝挂分】盘点蒟蒻ghy的各种sb错误
1.m与n打反(打错) NOIPd2t2 50变15爽不爽啊.jpg 某次信心赛四道sb题里面最sb的一道 sort里面的m打成n 100变40爽不爽啊.jpg(还有40我真的谢谢您了 2.没开lon ...
- 碰到这个SB错误,'Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.点办
After launching MacVim you may get this annoying error message:'Taglist: Exuberant ctags (http://cta ...
- 记录一下最近犯得sb的翻车错误
首先是: 数据范围是long long范围,然后写了一个暴力,觉得过不去,于是开了int范围,最后写了个能骗过所有数据的骗分,然后没开longlong... 接着是: for(int i = l; i ...
- 当PsychicBoom_发觉自己是个大SB的时候……
这些题都是没ac调了好久发现是sb错误的题--. 想清楚再写题!!! 2019.4.18 洛谷P5155 [USACO18DEC]Balance Beam 转移方程\((a[l[i]]*(r[i]-i ...
- 记一次关于return的错误
有时候瞎JB程序,调一天东改西改,都发现不了错:到最后弄出来发现就是那样一个SB错误,真不知道该笑还是该哭. 这个if语句中的return,如果加了那么判断了if语句成立后,下面就不再执行了. ...
- 【POJ1185】炮兵阵地 状压DP
感觉总是被一些SB错误所困扰... 差不多还是(模板题)注意数组空间的大小,和对于合法状态的判断. f[i][j][k]=max(f[i][k][j],f[i-1][l][k]+num[j]) (f[ ...
- WEKA运行LIBSVM出现problem evaluating classifier:rand
原来这个实验已经做了的.也出现了些问题,但是上网找到了解决方法,那个时候是完成数据挖掘的课程论文,用WEKA运行LIBSVM,也没有很深入,简单跑出结果就算了. 这次想着研讨会就讲这个,想着深入进去, ...
- Noip2016のmengbier
Day0 上午10点多上了火车,向三位学长问了一路去年noip他们是用什么心态去考的,明明老师和同学都说我正常发挥应该没什么问题但心里就是紧张的不行,就是害怕犯个sb错误爆上一道题TAT. 去试机.. ...
随机推荐
- Java(13)详解构造方法
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201600.html 博客主页:https://www.cnblogs.com/testero ...
- C++/CLR 使用(VS2012,VS2013,VS2015)编写
转载自:http://www.th7.cn/system/win/201509/129417.shtml VS2010以及以前的版本,创建项目时都可以在CLR下找到"Windows窗体应用程 ...
- IEEE754浮点数的转换
将十进制数转换为单精度浮点数 如何将十进制数转换为单精度浮点数参考 首先要知道 IEEE浮点标准:V=(-1)^s * M * 2^E 1.符号(sign)s决定这个数是负数(s=1)还是正数,0(s ...
- Python学习系列之一: python相关环境的搭建
前言 学习python和使用已经一年多了,这段时间抽空整理了一下以前的笔记,方便日后查阅. Python介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Pytho ...
- NOIP模拟83(多校16)
前言 CSP之后第一次模拟赛,感觉考的一般. 不得不吐槽多校联测 OJ 上的评测机是真的慢... T1 树上的数 解题思路 感觉自己思维有些固化了,一看题目就感觉是线段树. 考完之后才想起来这玩意直接 ...
- UltraSoft - Beta - Scrum Meeting 10
Date: May 26th, 2020. Scrum 情况汇报 进度情况 组员 负责 今日进度 q2l PM.后端 记录Scrum Meeting Liuzh 前端 暂无 Kkkk 前端 前端增加了 ...
- 全志Linux Tina编译demoOmxVdec错误
测试裸流 Making install in demoOmxVdec make[6]: Entering directory '/home/liuxueneng/WorkCode/Homlet-Tin ...
- 修改openstack镜像--支持root密码登陆
一.前言 从openstack官方下载的云镜像一般都是普通用户密钥登陆,比如centos镜像的普通用户为centos,ubuntu镜像的普通用户为ubuntu,虽然密钥登陆系统相比密码登陆来说比较方便 ...
- Ambari 2.4 在 CentOS 7.4 因 TLS_1.2 协商内部错误导致注册失败
问题背景 业务准备在天翼云上搭建一套线上环境,VM 操作系统版本为 CentOS Linux release 7.4.1708,但是在 ambari Web 管理页面上部署hadoop节点主机的时候, ...
- Pip安装Django超时(time out)解决方法
(ll_env)learning_log$ pip install Django 执行该命令,始终报错,如上图 解决方法如下: pip install -i http://pypi.douban ...