脑瘫日记
-
题目中给出的范围可能并不是最终范围,一定要计算出最坏情况后确定保险的范围;
-
局部变量可能会屏蔽全局变量(变量定两回);
-
unsigned long long占位符是lu,short占位符是hd; -
++i, ++j, --i, --j; -
压行的时候分清分号和逗号,注意语句控制范围 ,保守起见要加大括号;
-
一顿操作猛如虎,忘了清零二百五(又:多测不清零,抱灵两行泪);
-
如题目中要求严格输出,不要多空格;
-
构造函数数据类型不要出错;
-
0x7fffffff(7 个 f) 只是int的最大值,long long的最大值是0x7ffffffffffffff(14 个 f); -
遇到给出比例,分数等,如未明确说明,需化简;
-
maxx,minn的初始化; -
如果
sort很悬,使用stable_sort或merge; -
谨防不明意义变量,重名变量(如
l和t[p].l),分不清的变量(如ii, ij, jj, ji); -
观察如下代码片段
while (scanf("%d", &a[n++]) != EOF);不易发现的错误点在于,当
scanf("%d", &a[n++]);读不到值时,循环终止,此时 n 为数组元素个数 + 2, 需要n -= 2; -
无向图存边开双倍空间;
-
完全图用邻接矩阵存边,或开 \(n \times (n - 1) \over 2\) 的数组。
-
线段树开四倍空间,传参别写错;
-
递归时调用函数名别写错。
-
括号匹配 DP 时除了处理 (A)、[A] 之外,也要处理 AB。
-
\(\gcd(a, b) = \gcd(b, a - b),(a \leq b)\)
-
边权在边上的树剖只需要将边权传到儿子上,最后一次修改 / 查询时忽略 LCA(即深度较浅的点)即可。
-
完全背包内层循环从小到大枚举可行原因:完全背包的特点恰是每种物品可选无限件,所以在考虑“加选一件第 \(i\) 种物品”这种策略时,正需要一个可能已选入第 \(i\) 种物品的子结果 \(f[i, v − Ci]\),所以就可以并且必须采用 \(v\) 递增的顺序循环。
本文来自博客园,作者:HyperV,转载请注明原文链接:https://www.cnblogs.com/Hszzzx/p/nao-tan-ri-ji.html

浙公网安备 33010602011771号