知识点复习
- 线性筛(DONE)
- 格雷码(SKIP)
- 平衡树(DONE)
- 连通性(DONE)
- 欧拉回路(DONE)
- 扩欧(DONE)
- CRT(DONE)
- 多重集排列/组合(SKIP)
- 错排列,圆排列(SKIP)
- 卡特兰(SKIP)
- 高斯消元(SKIP)
死记硬背
$$
K(n) = \sum_{i=0}^{n-1} K(i) \cdot K(n-1-i)
$$
$$
D(n) = (n-1) \cdot (D(n-1) + D(n-2))
$$
$$
C(n) = (n-1)!
$$
重要考点
- 图论
- DP
- 线段树
- 哈希
注意事项
- 图论注意连通性(可能不连通但是你只处理了一个)。
- 不要急着调试,浏览一遍代码通常就能快速发现问题。
有用指令
ulimit -v "${memory}"
,不要同一窗口多次使用。ulimit -s "${stack_size}
,不要设置成unlimited
g++ -fsanitize=address
与g++ -fsanitize=undefined
。注意其可能造成的行为不一致,因此应该使用不含其的命令测试一遍。以及效率损失问题。-g
考试策略
- 读所有题
- 每一题思考不少于 $20$ 分钟
- 对于较长的代码,先整理思路并检查正确性。
- 不应该在有事情做的时候编写难以实现的代码。
- 不要写几乎不可能实现的代码。
- 不要再一题上消耗大量的时间。
- 比赛结束前在 Linux 下检查,尽量不要修改代码。
- 比赛结束前备份代码并测试样例。
- 检查空间与时间限制。
- 不要编写没有把握的代码。
- 如果消耗的时间超出预期,重新评估价值。
- 不要紧张,提前暖机暖手。
要说的话
NOIP 并没有想象中的那么难,限制我们的往往是我们自己,应该奔着正解去想,不要害怕,人生本来就是未知的,我们需要相信自己。