-
else
总会和最近的if
配对,所以勤加大括号。 -
不要
#define int long long
!!!。 -
不要把
i
和j
写反。 -
使用
STL
容器前(队列、栈等),无论执行什么操作,都要先判空。 -
在找最值时初始值最好设为
1e9+31
。 -
写完爆搜,如果想不到其他思路,记得想想剪枝和记忆化。
-
如果感觉某道题只能模拟或贪心,但无法证明正确性,且数据范围在 \(10^5\) 及以上,记得考虑线性 dp。
-
如果感觉某道题只能爆搜,并且数据范围小、某些数据范围表示为 \(2^x\) 的形式,记得考虑状压 dp。
-
不要轻易使用 \(O(\log n)\) 的数据结构,如
map
、二叉堆。 -
遇题先想正解!
-
不要死磕一道题!
-
要大胆猜想贪心结论,敢于写 dp。
-
考试最后十分钟,检查:
freopen
、编译、是否关流 / 开long long
。 -
谨慎在
freopen
之后ios::sync_with_stdio(0)
。 -
尽量不要开
unsigned long long
。 -
重边的情况取 \(\min\) 存边。