[Repost] 常用素数
作者:Miskcoo(http://blog.miskcoo.com/2014/07/fft-prime-table)
如果 \(r\cdot 2^k+1\) 是个素数, 那么在 \(\bmod r\cdot 2^k+1\) 意义下, 可以处理 \(2^k\) 以内规模的数据.
\(2281701377=17\cdot 2^{27}+1\) 是一个挺好的数, 平方刚好不会爆 long long.
\(1004535809=479\cdot 2^{21}+1\) 加起来刚好不会爆 int 也不错.
还有就是 \(998244353=119 \cdot 2^{23}+1\).
详见下表:(\(g\) 是 \(\bmod(r\cdot 2^k+1)\) 的原根)
| \(r\cdot 2^k+1\) | \(r\) | \(k\) | \(g\) | 
|---|---|---|---|
| 3 | 1 | 1 | 2 | 
| 5 | 1 | 2 | 2 | 
| 17 | 1 | 4 | 3 | 
| 97 | 3 | 5 | 5 | 
| 193 | 3 | 6 | 5 | 
| 257 | 1 | 8 | 3 | 
| 7681 | 15 | 9 | 17 | 
| 12289 | 3 | 12 | 11 | 
| 40961 | 5 | 13 | 3 | 
| 65537 | 1 | 16 | 3 | 
| 786433 | 3 | 18 | 10 | 
| 5767169 | 11 | 19 | 3 | 
| 7340033 | 7 | 20 | 3 | 
| 23068673 | 11 | 21 | 3 | 
| 104857601 | 25 | 22 | 3 | 
| 167772161 | 5 | 25 | 3 | 
| 469762049 | 7 | 26 | 3 | 
| 998244353 | 119 | 23 | 3 | 
| 1004535809 | 479 | 21 | 3 | 
| 2013265921 | 15 | 27 | 31 | 
| 2281701377 | 17 | 27 | 3 | 
| 3221225473 | 3 | 30 | 5 | 
| 75161927681 | 35 | 31 | 3 | 
| 77309411329 | 9 | 33 | 7 | 
| 206158430209 | 3 | 36 | 22 | 
| 2061584302081 | 15 | 37 | 7 | 
| 2748779069441 | 5 | 39 | 3 | 
| 6597069766657 | 3 | 41 | 5 | 
| 39582418599937 | 9 | 42 | 5 | 
| 79164837199873 | 9 | 43 | 5 | 
| 263882790666241 | 15 | 44 | 7 | 
| 1231453023109121 | 35 | 45 | 3 | 
| 1337006139375617 | 19 | 46 | 3 | 
| 3799912185593857 | 27 | 47 | 5 | 
| 4222124650659841 | 15 | 48 | 19 | 
| 7881299347898369 | 7 | 50 | 6 | 
| 31525197391593473 | 7 | 52 | 3 | 
| 180143985094819841 | 5 | 55 | 6 | 
| 1945555039024054273 | 27 | 56 | 5 | 
| 4179340454199820289 | 29 | 57 | 3 | 
[Repost] 常用素数的更多相关文章
- NTT中可用素数模数原根表
		常用素数: P = 1004535809 ====> pr = 3 P = 998244353 =====> pr = 3 //(g 是mod(r*2^k+1)的原根) 素数 r k g ... 
- 【转自牛客网】C++类职位校招
		作者:./a.out链接:https://www.nowcoder.com/discuss/14022来源:牛客网 话说在牛客网上混迹了半年,也没啥拿的出手的贡献.现在基本上自己的校招生涯要告一段落, ... 
- [hdu1402]A * B Problem Plus(NTT)
		解题关键:快速数论变换NTT模板. 注意$ans$数组的$ans[n]$一定要注意置$0$,或者结果从$n-1$开始遍历,这里很容易出错. 代码1:ACdreamer 的板子. 为什么要reverse ... 
- 逆元 x
		逆元: 丢线 1.首先定义: 若存在正整数a,x,m,且满足ax≡1(mod m),则称a是x的乘法逆元,或称x是a的乘法逆元. Eg: 模7意义下,3的乘法逆元是5(或模7意义下,5的乘法逆元是3) ... 
- WPF中的常用布局      栈的实现    一个关于素数的神奇性质      C# defualt关键字默认值用法   接口通俗理解    C# Json序列化和反序列化    ASP.NET CORE系列【五】webapi整理以及RESTful风格化
		WPF中的常用布局 一 写在开头1.1 写在开头微软是一家伟大的公司.评价一门技术的好坏得看具体的需求,没有哪门技术是面面俱到地好,应该抛弃对微软和微软的技术的偏见. 1.2 本文内容本文主要内容 ... 
- 【repost】Javascript操作DOM常用API总结
		Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ... 
- 网页中为什么常用AT替换@(repost from https://zhidao.baidu.com/question/122291.html)
		经常在个人主页上看到别人的邮箱地址中@被AT符号替代,很是迷惑,这样替代有什么好处呢?还是说html原有的原因使界面中不能出现@,查阅资料后解答如下: 写成AT [at],是为了防止被一些邮件扫描器搜 ... 
- javascript应用之如何判断一个数为素数
		判断是否为素数? 质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数. 合数,数学用语,英文名为Composite numb ... 
- 必备:常用px,pt,em换算表(转)
		常用px,pt,em换算表 pt (point,磅):是一个物理长度单位,指的是72分之一英寸. px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理 ... 
随机推荐
- 【ABAP系列】SAP ABAP基础-录制BDC的MODE定义解析
			公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP基础-录制BDC ... 
- spring-第十七篇之spring AOP基于注解的零配置方式
			1.基于注解的零配置方式 Aspect允许使用注解定义切面.切入点和增强处理,spring框架可以识别并根据这些注解来生成AOP代理.spring只是用了和AspectJ 5一样的注解,但并没有使用A ... 
- Python入门习题7.分别统计输入各类字符个数
			例7.用户从键盘输入一行字符,编写一个程序,统计并输出其中的英文字符(包括中文字符).数字.空格和其他字符个数. #字符数统计.py Str = input('请输入一行字符:') alpha = 0 ... 
- bfs(最短路径)
			http://poj.org/problem?id=3278 Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submis ... 
- 2、NumPy 数据类型
			1.NumPy 数据类型 numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型.下表列举了常用 NumP ... 
- jar包/class文件如何快速反编译成java文件
			有时编写的java代码打包为可执行jar包后需要查看工程结构是否是且只有我们需要的包,故需要查看jar包层级. 1.windows系统可以直接在网上下载jd-gui.exe包,然后傻瓜安装: 2.Ma ... 
- java 日期工具
			package com.neuxa.is.workflow.utils; import java.sql.Timestamp;import java.text.DateFormat;import ja ... 
- linux内存子系统调优
- 北京太速科技有限公司 layout 事业部
			涵盖领域设计能力 ·通信板卡:PCI/PCIE/CPCI/VPX/光通信/无线通信/射频雷达/显卡 1.最小线宽:2MIL·主板服务器:电脑主板/交换机/服 ... 
- thinkphp在  nginx 的conf文件配置
			server { listen 80; server_name www.osd-aisa.com; #charset koi8-r; #access_log logs/host.access.log ... 
