码迷,mamicode.com
首页 > 其他好文 > 详细

浅谈单位根反演

时间:2019-10-23 21:52:38      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:方法   https   jsb   题目   blog   作业2   个数   作业   http   

Preface

我发现我现在学一个新算法总是把相关题目做完了才来写233

单位根反演总的来说不是一个非常难的姿势,但是确实解决某些问题的必要前提

它可以在\(O(k)\)的时间内求一个数列(或是生成函数)所有下标是\(k\)的倍数的点值和

以下的一些基础姿势例如单位根的性质及求法等以下不再赘述


Formula

先上单位根反演的公式:

\[[k|n]=\frac{1}{k}\sum_{i=0}^{k-1}\omega_k^{ni}\]

我们来考虑证明这个公式,分类讨论:

\(k|n\),那么:

\[\frac{1}{k}\sum_{i=0}^{k-1}\omega_k^{ni}=\frac{1}{k}\sum_{i=0}^{k-1}(\omega_k^n)^i=\frac{1}{k}\sum_{i=0}^{k-1}\omega_k^0=1\]

\(k\not| n\),那么根据等比数列求和有:

\[\frac{1}{k}\sum_{i=0}^{k-1}\omega_k^{ni}=\frac{1}{k}(\omega_k^0\cdot \frac{\omega_k^0-\omega_k^{kn}}{1-\omega_k^n})\]

由于其分子为\(1-1=0\),因此该公式成立


Others

有些时候我们只知道\(k|n\)的点值和还不够,比如说我们要知道下标\(\mod k=r\)的点值和

考虑通过函数的平移来解决问题,如果我们此时将该序列的生成函数乘上\(x^{-r}\)再套用上面的方法就可以得到答案了


Example

给几道简单点的例题练练手吧


Postscript

最近感悟到了生成函数之美,因此最近的做题方向也在想着数学题的方向靠近吧233

浅谈单位根反演

标签:方法   https   jsb   题目   blog   作业2   个数   作业   http   

原文地址:https://www.cnblogs.com/cjjsb/p/11728892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!