• 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 离了这个模数就死了。

  • 相关阅读:
    ↗☻【高性能网站建设进阶指南 #BOOK#】第3章 拆分初始化负载
    ↗☻【高性能网站建设进阶指南 #BOOK#】第7章 编写高效的JavaScript
    【JavaScript】text
    ↗☻【高性能网站建设进阶指南 #BOOK#】第5章 整合异步脚本
    ↗☻【高性能网站建设进阶指南 #BOOK#】第10章 图像优化
    利用十大最佳游戏开发工具开发游戏
    传奇服务器端/客户端 完整源代码
    order by union 应用实例 mssql
    Nine Digits Expression
    Ninedigit Fractions
  • 原文地址:https://www.cnblogs.com/jojojojojob/p/15761913.html
Copyright © 2020-2023  润新知