知识树总览

知识树总览

这样的话方便做题思考一些, 以后碰见没有思路的题就看看。

  • 首先还是要分析一些性质(这一步最好使用贪心), 看清楚题目要问什么, 先转换一下, 把形式化的题面变得抽象一些?

  • 然后就是套路题了/hanx

主要是提供思路来着, 具体套路要看具体的记录

枚举

在数据范围不大的时候枚举一些量方便做题

模拟

搜索

记得记忆化

  • DLX 精准覆盖问题
  • A, IDA

感觉只有模拟赛会用到这种阴间玩意(骗分除外

分治

询问比较多的时候考虑猫树分治? 一般这种分治还会用在序列, 矩形等计数上, 感觉可以看作点分治的序列版本

  • 点分治动态点分治等常见技巧

贪心

广泛运用, 一般出现在分析性质或者是最后一步快速求什么东西上, 比如说你化简成一个问题, 直接上贪心就是对的。

  • 模拟费用流
  • 要求什么最优排序, 可以考虑邻项交换

二分

二分和分治不太一样, 二分主要是二分答案, 拥有单调性/最大化最小等啥的

倍增

有时候可以替代二分(二进制诸位确定

但是一般用于快速的到达某一个状态, 比如说k级祖先等。

如果知道a, b可以推出a + b还具有结合律的话, 倍增是个好选择

动态规划

形式多样, 难在任何地方

  • 各式各样的DP(

  • 决策单调性优化

  • 舍去不优解(比较难的问题里面都会有这些性质, 当你的DP状态不能再优化的时候, 可以注意一下是否所有的状态都会用上。

  • 转移形式单一, 有时候是单一, 可以合并转移; 有时候是形式比较简单, 直接维护DP数组(比如用线段树, 平衡树维护之类的, Slope trick)

  • 斜率优化 + 李超线段树

  • 交换状态和值(这个时候一般都会有单调性帮助交换之后的转移

字符串

  • SAM

    遇事不决就上SAM

  • SA

    不会用

  • AC自动机和KMP, 还是十分重要的, 注意fail的性质, KMP最好建出KMP自动机去考虑问题, (注意KMP是均摊的

  • Hash 十分有用千万不要忘记

  • Manacher与回文自动机, 用的不多, 注意一下回文半径是十分有用的

  • 广义后缀自动机, 考的不多, 注意建法

  • Lydon分解, 不会

数学

数论

  • gcd, lcm. 注意高精gcd, 讨论奇数偶数的哪个

  • 数论函数, \(\phi \ \ \mu \ \ id \ \ \cdots\)

  • 狄利克雷相关(暂时不太会贝尔级数和狄利克雷函数

  • 中国剩余定理, 拓展中国剩余定理, exgcd

  • 类欧几里得, 万能欧几里得(感觉很有趣但是就是没考过

  • 卢卡斯定理和拓展卢卡斯和Zcus

  • BSGS

  • 原根与阶(这个性质也比较多, 可以找个时间重新看一看

  • 一群筛法

生成函数

多项式已经没有了, 但是生成函数还是有, 现在的重心可能是在生成函数推式子上了, CF还是有一些这样的题

  • 线性递推 每次都忘记了, 现在也是忘记了, 大概是 \(A^n\) 对 刚开始反过来的系数序列取模

线性代数

详情见线性代数记录

  • 向量矩阵
  • 线性基
  • 特征向量和特征矩阵
  • 矩阵的对角化
  • 奇奇怪怪的应用

群论

  • 只知道burnside和Polya
  • 置换相关

概率期望

概率顺推, 期望逆推? 比较经典的一句话

  • 期望的线性性 $ \tt{E}(\tt{A} + \tt{B}) = E(\tt{A}) + E(\tt{B})$

  • 什么依次操作操作合法, 可以看成枚举操作的排列, 遇见不合法的就跳过, 这样子也是正确的, 也就是 每种排列的贡献 / \(n!\) = 答案的期望。 (感觉这个很有用

数据结构

  • 队列

  • 链表 (加入查前驱后继 = 删除查前驱后继 -> 链表维护

  • 并查集 :带权并查集 , 拓展域并查集)

  • 堆 :优先队列和左偏树, 模拟费用流当中很常见

  • 分块:块状链表, 分块套树状数组(听说这个十分有用), 树分块(树分块有很多种)

    分块是一种思想(对什么都可以分块, 例如分块打表), 更多科技见数据结构记录

  • 单调栈: 线段树维护单调栈, 析合树相关; 单调队列等

  • ST表

  • 树状数组和线段树

  • 特殊的线段树等, 李超线段树, SegmentTreeBeats

  • 平衡树相关: FHQ-treap 和 Splay

  • 可持久化相关

  • KDT, LCT等不常见复杂数据结构

图论

感觉图论是比较重要也是比较有趣的一个考点, 但是平时模拟赛的图论题并不是很多?

  • 无向图的DFS和BFS树, (DFS树只会有返祖边, BFS树只会在相邻两层中连边
  • 强联通分量与双连通分量(圆方树
  • 有向无环图的拓扑排序
  • 不要忘记还有2-Sat
  • 最小生成树(kruskal重构树解决只经过 \(\le k\) 的边的问题)
  • 最短路(dij and spfa)
  • 差分约束算法, 可做(a_i - a_j <= k || a_i - a_j >= k)
  • K短路
  • 同余最短路
  • 斯坦纳树
  • 最小直径生成树(没什么用
  • 欧拉回路与欧拉路常见于构造题
posted @ 2021-09-22 14:23  Zcus  阅读(151)  评论(0编辑  收藏  举报