NTT 快速数论变换

NTT

先学习FFT
由于FFT是使用复数运算,精度并不好,而且也无法取模,所以有了NTT(快速数论变换)。

建议先完全理解FFT后再学习NTT。

原根

NTT使用与单位根性质相似的原根来代替单位根。

定义:设(m)是正整数,(a)是整数,若(a)模(m)的阶等于(φ(m)),则称(a)为模(m)的一个原根。

如果你不知道阶

定义:对于(an≡1(modp)an≡1(modp)) 最小的(n),我们称之为(a)模(p)的阶,记做(δp(a))

如果你懒得看麻烦的定义,可以直接从这里开始看。

(g)表示质数(p)的原根

NTT 快速数论变换

998244353 的原根是3,3在模998244353的逆元是332748118。

最最重要的性质我不会证但我会背:

[\omega_n\equiv g^{\frac{p-1}n}\mod p ]

NTT

所以我们直接用(g)代替(\omega_n)做FFT就好了。

做IFFT时就用(g)的逆元做就好了。

还是别忘记乘(\frac 1 N)

掌握了FFT,NTT还是很简单的。

void ntt(ll *a,int type)
{
    for(int i=0;i

Original: https://www.cnblogs.com/29taorz/p/15719612.html
Author: T_X蒻
Title: NTT 快速数论变换

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643434/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python之正则表达式

    一、什么是正则表达式 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”))操作的一种逻辑公式,就是用事先定义好的…

    技术杂谈 2023年7月11日
    0102
  • 解决Win10锁屏超1分钟,显示器关闭问题

    Win10台式机锁定屏幕1分钟后,系统就会自动关闭显示器。从节能来说是非常不错的,但这不符合大多数人的电脑使用习惯,一会儿就黑屏了看起来不舒服。怎么修改这个系统默认设置呢?解决方法…

    技术杂谈 2023年6月1日
    0112
  • Docker安装Mysql

    安装 权威的都在官方: https://registry.hub.docker.com/ 先看看官方文档1、搜索mysql镜像2、找到对应镜像3、根据版本复制对应版本镜像拉取命令4…

    技术杂谈 2023年7月24日
    072
  • 敏捷培训有感

    一周前参加了个关于敏捷的培训,今天回想起来,记忆最深的是两个游戏环节。 游戏一 组装 10 只同样小狗,每只小狗需要 5 块积木,流水线上 5 个人,每人负责固定的一块积木的拼接。…

    技术杂谈 2023年7月11日
    065
  • Win10系统的SurfacePro4无法修改启动顺序怎么办

    必须要把底部的开关关闭,否则启动顺序无法修改 本文为博主原创文章,未经博主允许不得转载。 posted @2018-08-20 22:37 gary_tao 阅读(1850 ) 评…

    技术杂谈 2023年5月31日
    0279
  • kubernetes sigs kind

    github.comhttps://github.com/kubernetes-sigs/kind kind – Quick Starthttps://kind.sigs.k8s….

    技术杂谈 2023年6月1日
    0105
  • 【转】OC-音乐播放器-锁屏处理

    QQ音乐播放的过程中,锁屏状态下的效果如下: 也就是说,QQ音乐播放过程中,添加锁屏远程事件的监听。 本文只记录本人知道的小知识点,不提供完整的代码。 实现的原理: (1)获取锁屏…

    技术杂谈 2023年6月1日
    084
  • 关于 Delphi 中流的使用(1) 用 TMemoryStream(内存流) 入门

    所谓”流”, 就是一段数据或是一块内存; 在进行流操作时, 我们不必关心流中的数据到底是什么; 只需要知道流的大小和当前的指针位置. 所以流只有两个属性: …

    技术杂谈 2023年5月31日
    084
  • Verilog常用语法

    Verilog常用语法该内容均可以在夏宇闻老师的《Verilog数字系统设计教程》第四版中找到,在此处只是便于回顾而已,没有书的可以参考,FPGA设计常用的都已经标出来了,有部分常…

    技术杂谈 2023年5月31日
    090
  • [置顶] 开关电源的pcb设计规范

    参数设置相邻导线间距必须能满足电气安全要求印制线的长度和宽度会影响其阻抗和感抗尽量加粗接地线若接地线很细按照电路的流程安排各个功能电路单元的位置在任何开关电源设计中,pcb板的物理…

    技术杂谈 2023年6月1日
    072
  • 《睡在天堂的爱》作者:如意

    一天,父亲开口跟我要钱了。最初的借口是身体不太好,要去医院做个全身检查,我便给他寄了钱。 没想到时间不长,他又来了电话,说想买个电动三轮车。我犹豫了一下,他好像听出我的迟疑,说:&…

    技术杂谈 2023年6月1日
    098
  • SQL存储过程

    — 创建存储过程 (无参)create procedure sp_pro1() select count(*) from student; — 调用存储过程…

    技术杂谈 2023年7月25日
    071
  • 3种常见的数据脱敏方案

    1.SQL数据脱敏实现 MYSQL(电话号码,身份证)数据脱敏的实现 — CONCAT()、LEFT()和RIGHT()字符串函数组合使用,请看下面具体实现 — CONCAT(…

    技术杂谈 2023年5月31日
    074
  • Linux Cgroup v1(中文翻译)(6):Memory Resource Controller

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月11日
    073
  • PyQt5 控件交互与焦点控制

    ################################ PyQt5中文网 – PyQt5全套视频教程 # https://www.PyQt5.cn/ # 主讲: 村长 #…

    技术杂谈 2023年5月31日
    089
  • 关于SQL语句的执行顺序

    首先,要清楚在一select语句中都会用到哪些关键字: 其次,要知道每执行一步就会生成一个对应的虚拟表: 明白这两点再看执行的先后顺序 1.from语句:不管是什么SQL语句,都得…

    技术杂谈 2023年7月11日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球