HL集训挂分合集
这些是集训的
-
线段树值域为 \(\left[0, n\right]\) 写成 \(\left[1, n\right]\)
-
随机化算法没用 rand() (啊?
-
\(num \in \left[-1, 1\right]\) 所以可能会出现 \(num = 0\) 不能简单用 else 来判 \(1\) 而是 else if
-
双向链表注意 \(0\) 和 \(n + 1\) 的边界问题
-
二分图匹配使用匈牙利算法时 如果可能匹配编号为 \(0\) 的点 \(match\) 数组的初值要设为 \(-1\)
-
多测没清(你在想什么
-
魔改矩乘的时候记得明确并统一运算定义
-
倍增 LCA 预处理时的 \(j\) 层循环要正序枚举(不是你在干什么
-
链前存图空间一定要开够
-
注意特判条件别写错
-
交题别忘删 / 加 freopen(。
这些是集训之后到现在的
-
莫队先 \(init\) 分块之后再排序!莫队 \(nowl = l\) 不需要移动!
-
值相同取编号最小 编号初始化为 \(inf\)
-
图论题没说就要考虑自环和重边
-
堆/队列/栈等一车查询/弹出之前一定要判不空
-
部分分和特殊性质拆开写的时候注意数组大小不能共用一个 \(N\)
-
'z' + 9 会爆 char
-
忘记写特判
-
判浮点数为 0 要用 eps
-
分清楚啥时候用lower_bound啥时候用upper_bound
-
树上背包外层循环倒序枚举
-
二维偏序注意上限值域 注意可能值 0 的数据
-
线段树区间查询记得判 \(u \le v\)

浙公网安备 33010602011771号