新鲜美好的花儿
之前嫌麻烦就没再弄,但是被建议要把所有挂分点和要点给记录下来,于是就整了个闲话合集。
时刻需要牢记的
- 小心溢出。
- 小心手残(如注释了文件重定向和头文件)
合集
- 带阶乘,模数固定:分讨+分段打表
- 别挂分,本地过不了就写到过为止,评测机不一定有想象快。
- 看到约数有关可以根号分治
- 优化做题顺序!优化做题顺序!优化做题顺序!
- 别相信大样例,拍,拍,拍!!
- 别看不到 \(10^9\) 就不想着开 ll。
- 提交前记得再查查 CE,防止手残删东西。
- 很多时候直觉的方向是对的。在线不可做的东西就可以离线做啊。
- 联通块个数在联通块都是树的时候 = 点数 - 边(因为每个联通块中点 - 边 = 1)。莫队不能过 \(2\cdot 10^5\),尤其是回滚莫队。
- 想想贪心结论,感觉是对的大概是对的。
- 看起来很奇怪的东西很有可能有好玩的组合意义。特别是一个组合数形式的东西。
- 竞赛图有环最小环就是三元环。
- 随机数列的前缀最大值数量期望是 \(O(\log n)\) 的。很多最值问题需要二分的可以用这个优化复杂度。
- 看到一些很诡异的条件记得转化成人话
- 坐标题可以考虑曼哈顿转切比雪夫。
- 秒了和没有任何思路的题都要小心是题读错。
- 最优化问题可以归纳。
- 有一些看起来很紧的限制可以先暴力算下找规律。
- 做出一个题别飘。
- 模拟退火排列转移一般是交换随机位置,并不是相邻位置。
- 本地开编译要 C++14 而不是 17,否则可能导致
std::uniform_real_distribution(l, r)(rng)之类不能通过 C++14 编译的语法通过。应为std::uniform_real_distribution<>(l, r)(rng)。 - 啥都可以分块。
- 多项式不一定要 NTT/MTT/FFT。赛时看到这种阴间玩意绝对别写。(upd 这玩意不能考了,就别往这个方向想了)
- 如果冲正解要很久,那开考还是先写暴力。
别的
- 写闲话记得写数据范围
- 用 Linux,用
fsanitize - 补题确认不会就别逞强
- 保持身体健康也很重要!
- 记得补题之后写笔记。
- 维护好的精神状态的方式不是摆烂而是做有用的,包括写作业和学 OI。