新鲜美好的花儿

0x3b800001 / 2023-08-12 / 原文

之前嫌麻烦就没再弄,但是被建议要把所有挂分点和要点给记录下来,于是就整了个闲话合集。

时刻需要牢记的

  • 小心溢出。
  • 小心手残(如注释了文件重定向和头文件)

合集

  • 带阶乘,模数固定:分讨+分段打表
  • 别挂分,本地过不了就写到过为止,评测机不一定有想象快。
  • 看到约数有关可以根号分治
  • 优化做题顺序!优化做题顺序!优化做题顺序!
  • 别相信大样例,拍,拍,拍!!
  • 别看不到 \(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。