(模板)多项式乘法对任意数取模

2023-11-17

// 多项式乘法 系数对MOD=1000000007取模, 常数巨大,慎用
// 只要选的K个素数乘积大于MOD*MOD*N,理论上MOD可以任取。
#define MOD 1000000007
#define K 3

const int m[K] = {1004535809, 998244353, 104857601};
#define G 3


int qpow(int x, int k, int P) {
	int ret = 1;
	while(k) {
		if(k & 1) ret = 1LL * ret * x % P;
		k >>= 1;
		x = 1LL * x * x % P;
	}
	return ret;
}

struct _NTT {
	int wn[25], P;

	void init(int _P) {
		P = _P;
		for(int i = 1; i <= 21; ++i) {      
			int t = 1 << i;      
			wn[i] = qpow(G, (P - 1) / t, P);      
		}
    }
	void change(int *y, int len) {
		for(int i = 1, j = len / 2; i < len - 1; ++i) {      
			if(i < j) swap(y[i], y[j]);      
			int k = len / 2;      
			while(j >= k) {      
				j -= k;      
				k /= 2;      
			}      
			j += k;      
		} 
	}
	void NTT(int *y, int len, int on) {
		change(y, len);      
		int id = 0;    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(模板)多项式乘法对任意数取模 的相关文章

  • 网络流经典模型——最大权闭合子图

    网络流经典模型 最大权闭合子图 什么是闭合子图 闭合子图的概念 通俗点说就是选出一个图的子图 使得子图中的所有点出度指向的点依旧在这个子图内 则说明此子图是闭合子图 如下图 最大权闭合子图 假设每个点具有点权值 在一个图的所有闭合子图中 点
  • 无向图——邻接表和邻接矩阵的实现

    邻接矩阵 include
  • 模板类重载>>(输入)和<<(输出)运算符

    在模板类中输入运算符 gt gt 和输出运算符 lt lt 的重载 使用友元在类内声明 在类外实现 include
  • sgi_stl源码学习,解析set、map背后的_Rb_tree源码(未完待续)

    参考资料 chatGPT先推荐的 算法导论 第13章 不过我手头没有这本书 https www cnblogs com skywang12345 p 3245399 html chatGPT推荐的 外加sgi stl源码 个人觉得通过源码理
  • template模板:泛型化编程

    一 在函数中使用模板 template
  • c++显示实例化和显示具体化

    1 实例化 instantiation 实例化是指编译器使用函数 或者是类 模板为特定类型生成函数 类 定义 编译器不会为函数 或者类 模板生成定义 只有当我们为函数 或者类 模板指定了一个特定类型时 编译器才会生成 编译器为特定类型的函数
  • 【c++模板笔记一】模板的介绍及其重载

    2015年2月11日 周三晴 有一段时间没有更新博客了 这几天在整理前段时间所学的c 知识点就没有更新了 最近开始研究c 的模板的STL 于是开始继续写下自己的一点所得吧 模板和STL都是c 中比较实用的东西 能把我们省下很多事情 简化编码
  • thymeleaf基本语法

    thymeleaf基本语法 Spring Boot整合Thymeleaf 模版 依赖 创建模板文件 定义页面 简单表达式 Thymeleaf 常用语法 定义局部变量 注释 标准注释 析器级注释 取值 拼接 内联表达式 th inline 字
  • 字符串学习&总结(感觉主要是总结模板)

    目录 前言 一 哈希 导读 HASH模板 哈希 双哈希 hash应用 hash牛逼克拉斯 0 核心操作 求子串哈希值 1 字符串匹配 2 允许k次失配的字符串匹配 3 最长回文子串 hash操作简单 可解决的问题有点多啊 nice 4 最长
  • C++类模板中的友元函数的声明和定义分别放在哪里

    前面提到了模板的声明和定义推荐都放在头文件中 那么该类中的友元函数的声明和定义该放在哪里呢 因为友元函数并不属于这个类 按照习惯 我们一般把声明放在类中 而把定义放在类的外面 但对于类模板来说 这样就出问题了 很多编译器并不支持将友元函数的
  • c++11 之可变参数模板

    目的 包含0到任意个模板参数 声明可变参数模板需要在typename或class 后面加上省略号 一 可变参数模板函数 template
  • 模板特例化与偏特化

    模板是C 中一个很重要的特性 写一份代码能用于多种数据类型 包括用户自定义类型 例如 STL的sort 函数可以用于多种数据类型的排序 类stack可以用作多种数据类型的栈 但是 如果我们想对特定的数据类型执行不同的代码 而不是通用模板 呢
  • template partial specialization模板特例化,偏特化

    文章目录 前言 模板类特例化 模板函数特例化 总结 前言 temlplate
  • STL十大容器 之 list

    特点 内存不连续 底层实现是链表 插入和删除的效率比较快 随机访问效率比较低 和vector相比 不再需要 capacity 和 reserve 操作 因为链表没有大小限制 不需要为了效率增加预分配内存的功能 一 插入和删除 push ba
  • C#字典树(字母树)的模板

    保存一下JimLiu大神的 既然JimLiu大神的这个 net博客不维护了 我就搬过来了 哈哈哈 希望JimLiu大神不要见怪
  • C++模板学习

    文章目录 1 C 模板 2 函数模板 Function templates 2 1 函数模板分类 3 类模板 Class templates 4 参考资料 1 C 模板 模板定义 模板是实现代码重用机制的一种工具 它可以实现类型参数化 即把
  • template之模板注意事项

    前言 在分析STL之前 我们需要先对template做一个回忆 可能我总结的内容你都会了 也可能你没有了印象了 但是我还是希望你先浏览一下template的用法 毕竟STL全部都涉及到了模板 而template是学习STL的基础 templ
  • 以模板的方式重载"operator <<"需要注意的地方

    当我们用C 进行后台开发的时候 常常需要知道某一时刻一个容器的内容 通常 我们的做法是利用迭代器将容器内容打印到日志文件中 然后进行观察分析 如果每次打印都去找迭代器的麻烦 显然不是我们想要的 这样 顺理成章的我们就想到了封装函数 为了更方
  • IDEA类和方法的模板注释

    2 1 修改类注释模板 在File gt Settings gt Editor gt File and Code Templates下分别修改Class Interface Enum等注释模板 Class模板部分修改如下 其余的举一反三进行
  • C++ 模板简介(一)—— SFINAE

    SFINAE 类型检查 Concepts SFINAE 机制是组成 C 模板机制及类型安全的相当重要的基础 全称是 Substitution failure is not an error 大概的意思就是只要找到了可用的原型 比如函数模板

随机推荐

  • CDZSC_2022寒假个人训练赛21级(2)

    A 题解 输出n 1 2 3 4 即可 include
  • 记一次关于宝塔面板无法登陆的运维事故

    事故的出现 2023年4月22日 晚 我修改好客户的前端资源 打开宝塔面板准备上传 输入用户名和密码 点击登录 浏览器没有反应 而且上面的宝塔logo没有出现 我怀疑服务器遭到了攻击和篡改 但打开客户的网站 一切正常 问题排查 由于我前一天
  • 列导航

  • fastjson 转下划线_fastjson 变量驼峰形式与下划线互转

    FastJson 支持配置的PropertyNamingStrategy四种策略 属性名策略说明 CamelCase策略 Java对象属性 personId 序列化后属性 persionId PascalCase策略 Java对象属性 pe
  • apache impala 启动提示 java/lang/NoClassDefFoundError: java/lang/Object

    测试基于apache impala 4 1 0 版本 如果出现该错误 Error occurred during initialization of VM java lang NoClassDefFoundError java lang O
  • python将三张图片横向拼接为一张图片

    import numpy as np from PIL import Image 此处为路径 将三张图像的路径对应自己的改一下 paths 1 1 1 png 2 2 1 png 3 3 1 png img array img for i
  • HashMap在Java里是怎么工作的

    本文翻译自 Coding Geek 原文地址 绝大多数Java开发者都在使用Map类 尤其是HashMap HashMap是一种简单易用且强大的存取数据的方法 但是 有多少人知道HashMap内部是如何工作的 几天前 为了对这个基本的数据结
  • Kubernetes 功能简述

    1 功能 1 1 主要功能 Kubernetes 是一个开源的容器编排平台 它提供了一系列功能来管理和部署容器化应用程序 以下是 Kubernetes 的一些主要功能 容器编排 Kubernetes 可以自动管理容器的部署 扩展和收缩 以满
  • 私有云不是真正的云计算!

    大数据产业创新服务媒体 聚焦数据 改变商业 中国云计算遇到困境 IaaS层面 阿里云 腾讯云等增长乏力 SaaS没有发展起来 反观美国 整个云计算蓬勃发展 AWS 微软云 谷歌云体量更大 增速却不低 SaaS已经高度发达 有不少市值几百亿美
  • 外包三年半,人废了一半

    如果不是女朋友和我提分手 我估计现在还没醒悟 大专生 18年通过校招进入湖南某软件公司 干了3年多的CRUD 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的CRUD 已经让我变得不
  • C/C++ 课题解答(1)

    随机产生100个字符 a z 数组arrayOfChar 输入字符c 计算字符c在数组中出现的次数和位置 include
  • n的阶乘的两种方式

    n的阶乘的两种方式 递归与非递归 n 1 2 3 n 在n的阶乘中加入运行的时间 可以判断递归与非递归的运行效率 include
  • [vue-router] uncaught error during route navigation

    vue路由在加载组件之前会执行一些逻辑 尤其是生命周期的钩子函数 如果你在以上的钩子函数中 写了自己的逻辑 并报错了 就会触发 vue router uncaught error during route navigation这个错误 原因
  • 基于upload-labs的文件上传漏洞总结

    普通的前端绕过 1 抓包 2 上传jpg等格式的木马文件 3 bp上改回php后缀即可 普通绕过 1 抓包 2 上传jpg等格式的木马文件 3 bp上改后缀名为将后缀改为 php3 php4 php5 phtml等等 大小写绕过 即后缀名改
  • minikube命令

    Basic Commands 0minikube version查看版本 1minikube start启动一个集群 minikube start vm driver none image repository registry cn ha
  • ei计算机投稿 知乎,知乎热议:科研有很水的idea应该发表出来吗?

    原标题 知乎热议 科研有很水的idea应该发表出来吗 科研有很水的idea应该发表出来吗 来源 https www zhihu com question 372648294 小伙伴们 对于只能发EI 水会 OA SCI期刊那种 自己看到都觉
  • k8s基本命令

    k8s命令 https kubernetes io zh docs tutorials kubernetes basics 官网地址 基本命令 查看节点服务器 kubectl get nodes 查看命名空间 kubectl get ns
  • kettle(一)kettle介绍

    kettle介绍及组成 一 kettle 是什么 kettle 是一个ETL工具 ETL Extract Transform Load 数据抽取 转换 装载 kettle 是java编写 绿色无需安装 抽取高效稳定 kettle 主要用来对
  • 【零知ESP8266教程】快速入门5-使用按键来控制你的灯

    上节课 我们已经学习了如何制作一个简易交通灯 那么如何去控制一个LED的亮或者灭呢 此次试验采用按键来控制我们的LED 实现LED的简单控制 一 工具原料 电脑 windows系统 ESP8266开发板 micro usb线 LED灯一个
  • (模板)多项式乘法对任意数取模

    多项式乘法 系数对MOD 1000000007取模 常数巨大 慎用 只要选的K个素数乘积大于MOD MOD N 理论上MOD可以任取 define MOD 1000000007 define K 3 const int m K 100453