Re0: 从 1 开始的省选前生活

嘛,由于各种原因,job 不少提高组算法都还有所欠缺(2-sat,点分治,平衡树,BSGS,CRT,AC 自动机,主席树,cdq分治,整体二分),还有不少已经学习过的省选算法有所遗忘/当时摆大烂没学(莫比乌斯反演,多项式科技)
所以开篇文章来声讨总结一下哪些算法俺不行的,坚持日更。
排序仅按照复习/学习的顺序排序。


标题按以下标准来严格划分 :

  • 二级置顶 : 来存大标题。例如:数学,杂项。

  • 三级置顶 : 在大标题下存在的小标题。例如:斯特林数学习总结。

  • 五级置顶 : 用以分割一个模块的段落。例如:理论部分,具体例题。
  • 高亮 : 及重要的关键要点,必需进行记忆。

  • 加粗 : 用来提示出重点内容。


1.数学:

​ 目前可能包含的部分:数论,组合数学,多项式科技。

① 多项式科技:

用途:
  • 当算术式为两个 \(\sum\) 时,注意是否可以化为 \(i\),\(j\) 两个满足卷积形式的部分,可将时间优化至 \(O(nlogn)\)
  • 半在线卷积。求类似 \(f(n) = \sum_i^{n-1}f(i)*g*(n - i)\) 算式(多项式 exp/分治 FFT)。
  • 求类似斯特林数/生成函数。
  • \(O(lenlog(len))\) 高精度乘法
基础知识:

FFT/NTT:

​ 可行性来自于 \(O(nlogn)\) 的 DFT/IDFT (本质上是单位根反演)。

​ 需要单位根满足:

  • \(w_n^k = (w_n^1)^k\)
  • \(w_n^k,k \in[0,n -1]\) 互不相同。
  • \(w_n^k = w_n^{k\%n}\)
  • \(w_{2n}^{2k} = w_n^k\)

​ 于是就可以将单位根带入得到属于原多项式的点值表达式 \(g(n)\) ,根据单位根的性质得到单位根反演,点值相乘之后直接再将系数求出来。

​ 单位根反演:(证明代入后分类讨论)

\[g(w_n^k) = \sum_{i=0}^nf(i)*(w_n^k)^i\\ k*f(k) = \sum_{i = 0}^n g(i)*(w_n^{-k})^i \]

​ 于是原根也要满足类似的性质,在模 \(998244353\) 基础上,取 \(g^{(mod - 1)/n}\) 最为合适,因为 \(998244352 = 2^{23}*7*17\) 所以 NTT 离了这个模数就死了。

原文地址:https://www.cnblogs.com/jojojojojob/p/15761913.html