常犯逗逼错误(开坑慢慢填)

调试信息别忘了删??
尤其是带if的……

有好几个dfs的时候,参数尽量写得不同啊。。或者把后面用的放在前面,不要出现一个调用另一个……

开始写代码先把所有特殊情况判掉再说……

矩阵。。记得乘向量……

费马小定理只有质数才能用
欧拉定理也要互质

诸如 max(solve1(),solve2()) 好像是先执行 solve2()……不过这个可能是未定义行为。。还有那种printf ++i 什么的,貌似因为用栈实现的,所以会比较奇怪

<0 <=0 ???

continue写成break

找环啊,记得标记vis数组……不然排列上会T得很惨啊

树剖要先跳 dep[top[x]] 比较深的,而不是 dep[x] 比较深的点

lower_bound 一定一定要注意返回 end() 的情况

找三个数最小值要这样 if (x<=y&&x<=y) 不能 if (x<y&&x<z)

启发式合并如果在集合上有tag,新加的要把tag消掉

unique 前要先 sort

DP尽量初始化成无穷小吧,如果不初始化就必须要确保不访问到非法的状态,否则可能会出现一个状态是非法的但却被当成 0 统计到答案里了……无穷大的一般不太会出事,除非乘爆……

长链剖分要动态统计掉,不然后面会改掉

找 k 级祖先,结果访问到了栈里负的下标……

有些题实际点数是2n啦3n之类,for的时候要记得

好像快速幂碰到负数会陷入死循环?

dp完了要考虑一下最后是什么,是所有取min还是直接输出一个就好了

如果使用了奇怪的变量要特别小心,比如用V表示点啊……

求LCA的时候把 x!=y 写成 dep[x]!=dep[y] ,凉凉

单向边不要建成双向

  • 怎么死都不知道

bfs

  • 求最短路不要就dijkstra傻了一样还写错到现在都不知道怎么错的

置换要判单个环

  • 555555

千万不要开着O2/O3调试!!

  • 会调到自闭一脸懵逼。。用gdb输出中间值全都奇奇怪怪= =

联通分量搞完后,操作要搞清楚是原来的点还是缩过的点。。

不要交错= =

  • = =

线段树更新完要update

  • 板写错真的痛苦,不要离AK只有一步之遥……

优先队列最后一个不能pop了再判empty

  • 这样会导致最后一个没被算进去……

整体二分的时候要把询问放在操作后面

  • 我不会整体二分呜呜呜

期望的平方

  • 这东西是真的不会。。
  • 一般不能两个一次的东西直接乘,拆开
  • 这题 的80pts做法,真的懂吗???

求逆元,要想一下会不会是0

  • 比如概率题什么的,大概需要特判。。。。

不要随便用 while(q–) !!!!

DP注意后效性

  • https://www.luogu.org/problem/CF1214D

注意逗号不要写成分号

  • 看半天发现不了。。

矩阵乘法,注意要不要从0开始

  • 令人懵逼

i,j乱写

  • 包括但不限于 循环里 i i i i i i ,虽然说有时候并没有什么关系

DP转移注意边界

  • 不要访问到越界的下标,怎么凉的都不知道

多组数据不要memset

  • 莫名其妙T得很无奈

复杂度落实笔头

  • 诸如 n / k ∗ k n/k*k n/kk 之类分别最值就凉了

数下模数到底有几个零

  • 1e8+7实在是太毒瘤了= =1e9+9也是

cmp忘记写return了

  • 这个,到底是,怎么做到的= =我说优先队列的顺序怎么全乱了??
  • -Wall忘开见祖宗

质数特判1

宁愿多开long long也不要爆int

  • 一定要注意

余数小于p

  • 有些毒瘤出题人(xy题)会把余数搞大。。

cout默认输出六位小数,然鹅。。

  • 如果刚好0.5就输0.5??傻逼玩意儿

搞清楚是上凸还是下凸

网络流里邻接表从0开始

  • 忘记cnt=-1
  • 实在不行以后所有图都cnt=-1算了,反正都一样
  • 然后遍历的时候也要写对

n,m打反

  • 十年OI一场空,nm打反见祖宗
  • 印象中平时从不犯的错误
  • NOIP2016 && NOIP2018 血的教训

数组开小

2018/9/19 UPD:我以后要是再数组开小就直播吃键盘!!!
2018/10/15 UPD: flag已倒。
  • 眼瞎
  • gdb时改小了然后忘记改回去
  • 想当然
  • 有些时候会要开两倍啊四倍啊或者 n + 1 n+1 n+1 啊。。
  • 我吃 n n n^n nn 次键盘,其中 n = 19260817 n=19260817 n=19260817

没开long long

  • 最近有越来越智障的趋势
  • 10/25 囧rz
  • 日常

模数写错

  • 眼瞎
  • 想当然
  • 出题人毒瘤
  • 由于代码经常copy会导致const的常量忘记改……

变量写反

  • 眼瞎
  • 变量名太奇怪
  • 手滑

没初始化

  • 老年痴呆

读优写炸

  • 老年痴呆
  • 忘记负数
  • >写成>=
  • 忘记写引用了……还有chkmin/chkmax这些也一样的问题

特殊情况未考虑

  • 老年痴呆
  • 经验不足
  • 样例太水
  • 思维不够缜密

写完了发现想错了样例都过不了

  • 太懒没手算样例

中间忘记模

  • 老年痴呆

for里i–写成i++

  • 习惯性爆炸
  • 用宏定义之后就没有问题了(除非宏定义写错了……这种情况也发生过,不过比较好查)

宏定义fr里的变量只在for里有用

  • 有时在循环外定义int i,结果宏定义里又重新开了一个,于是就炸了。。

sort里的cmp大小写反

  • 脑子短路

莫名以为代码挂了

  • 把自己手造样例误以为是样例
  • 样例输错

没开long double

  • 实数的精度真是玄学

没清空

明明写了init()结果忘了调用

  • 当然不只有init()

手动取模里忘记引用

  • QAQ

排rank时忘记把num数组赋1到n

  • 调很久调不粗来

交互题fflush要放在read前面

  • 又是个调不出来的,自闭了。对着Idleness limit exceeded一脸懵逼。。
  • 准确说是输出后面??

Tarjan里习惯性写上if (v[i]!=fa)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值