易错点/易炸区
-
!a a==0 , a a!=0
-
memset
只能对数组的一维赋值 -
sort
函数默认升序排列,即 -
把
INF
设到足够大,但也别大到0x7fffffff
-
记得时刻取模,有减法时记得先
+mod
再%mod
,如果有必要需要读入后立即取模 -
不要盲目取模,尤其是计算过程中胡乱取模会影响正确性,算完后最后结果可以取模
-
注意模数性质,是否为质数,数清楚有多少位,不要想当然
-
在需要取模的快速幂中,如果最后的结果为 记得加上一个
mod
,否则会出错 -
重载运算符时要注意,
this.a<t.a
才是从小到大 -
指数不能直接取模
-
树剖时记得分清楚第 个原数权值(
w
),和按dfn顺序的权值(nw
) -
线段树
update
或pushup
或pushdown
时,不能仅更新 ,应该更新全部信息,如min、max
等 -
在 splay 的标记下传过程中,一定要先判断左右儿子是否存在,再对其翻转标记
xor 1
-
Floyd算法枚举顺序:
k,i,j
-
线段树开 倍空间
-
线段树
pushdown
时记得特判是否为叶子 -
DFS 是树根的父亲尽量不要设成 ,因为 可能会在 LCA 中用到导致 RE
-
树状数组记得特判 的情况
-
分块时,最后块后面还要加一个右端点为 的块
-
的范围不代表数据范围
-
不要随便用 SPFA,看清题目要求,是否有负边权,是否是双向边,是否稠密或稀疏等
-
存图时记得初始化
memset(h,-1,sizeof(h))
-
尽量不用
unordered_map
,易被卡ywy_c_asm的故事 -
矩阵乘法循环顺序:
i,k,j
或者k,i,j
-
命名时避开 等系统关键字
-
考试的时候看清编译语言是 c++ 还是 c++11
-
类型的函数要有返回值
-
不要访问负下标
-
编译选项开
-Wall
有助于避免 UB -
在遇到和逆元有关的题目时(比如求概率或期望),可以写一份转成 double 的副本,可以提高调试效率
-
写了
init
就要初始化,别忘了用 -
模数为 或者除数为 都可能导致 RE
-
考试开始时先看完所有题,先做可做的,做题策略要正确
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 大模型 Token 究竟是啥:图解大模型Token
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 短信接口被刷爆:我用Nginx临时止血
· 面试官:如果某个业务量突然提升100倍QPS你会怎么做?
· .NET 平台上的开源模型训练与推理进展
· 聊聊智商税:AI知识库