小技巧

小结论

数学相关:

  • \(\displaystyle\sum_{k=1}^n \frac{1}{k} = \ln n\)

  • \(C_n^m = C^{m-1}_{n-1} +C^m_{n-1}\)

  • \(C^m_n = \frac{n}{m} * C^{m-1}_{n-1}\)

  • \(C^0_n + C^1_n + \cdots + C^n_n = 2^n\)

  • \(C_n^k\) k为奇数相加等于k为偶数相加

  • n/x下取整的可能值最多有根号n个

  • 1~N内质数个数大概为 \(\frac {N}{\ln N}\)

图论trick:

  • 关于三点两两求lca

    • 其中有两个lca相同(求另一个可以三个一起异或起来)
    • 不同的也是深度最大的那个
    • 不同lca的三点在树上的分叉点
    • 换根lca就是分叉点
  • 关于源点和汇点

    • 求一些点到另一些点的最短路可以建超级源点和汇点
    • 一些点向另一些点连边可以新建源点和汇点
  • 分层图可以解决特殊边的问题, 可以通过dp减少空间

  • 最大/小值多想想生成树

人类智慧:

  • 将点不断分成两个集合, 使每两点至少有一次在不同的集合, 可以根据某一位在二进制上是否为一

基础算法与奇技淫巧:

  • 二分大于k的值设为一

  • 无法直接dp可以试试先贪心排序

  • 区间操作没准可以变成差分

  • 闲的没事可以试试倒序操作

  • 最大值最小, 最小值最大试试二分

  • 实在想不出来学会面向数据编程, 小数据暴力, 大数据瞎搞

  • 将数据分块, 大范围暴力, 小范围存储

  • 逆序问题可以先进行排序

  • 整体求值可以化为每个部分对答案的贡献, 在加上数据结构或重新化为另一个整体

方法:

  • 主元, 让你的式子的变量逐渐有某种规律(靠人类智慧

  • 转化, 将一个问题转化为另一个已知问题(可能有多步转化

  • 放弃, 适时的放弃能让你拿到更多的分数

心态和考场trick:

  • 心态, 我会大家会, 我不会大家也会, 我会不会大家都会, 无所谓(滑稽
  • 浏览一遍题目, 看看自己最少能拿多少分, 掌握最佳的分配时间
  • 尝试hack自己, 用边界条件和细节问题
  • 留出一个小时左右打对拍, 检查是否MLE或没开够
  • 做不出题时感觉题目很奇怪多半是题看错了
  • 别的选手使劲敲键盘, 那就跟着敲几下, 吓唬一下别人(滑稽
  • 想出题赶紧写, 调过样例, 去个厕所, 想不出来, 去个厕所, AK稳了, 去个厕所(滑稽
  • 尽量吃熟悉的食物
  • 检查时再读一遍题, 看看有没有输出"IMPOSSIBLE"啥的
  • 尽管爆零, 走出考场时要大喊"我 AK 了", 不留遗憾, 涨涨人品(滑稽
  • to be continued
posted @ 2019-11-12 18:38  Hs-black  阅读(146)  评论(0编辑  收藏  举报