【题解】LC:卷积(Convolution)(NTT)

发布时间:2026/11/13 12:47:19

【题解】LC:卷积(Convolution)(NTT) 板题。考虑到数据范围是 10^6又是大整数计算。可以使用 NTT。 没学过指路【FFT NTT | 那忘算 7】快速傅里叶变换 快速数论变换 (洛谷 P3803 题解)_傅里叶 洛谷-CSDN博客卡 fft 椰树神了喵。#include bits/stdc.h using namespace std; typedef long long LL; const int M 3e6 10; //这里得开大点2e6 不够 const LL P 998244353; LL qpow(LL a, LL b) { LL res 1; a % P; while (b) { if (b 1) { res res * a %P; } a a * a %P; b / 2; } return res; } LL a[M], b[M], r[M]; int limit, l; void NTT(LL *A, LL type) { //type原根的特定幂次正变换用原根逆变换用原根的逆元 for (int i 0; i limit; i) if(i r[i]){ swap(A[i], A[r[i]]); } for (int mid 1; mid limit; mid 1) { //mid 是当前半长 // 计算当前长度 2 * mid 对应的单位根x ^ {limit / (2 * mid)} // 为什么是 limit / (2 * mid)就相当于原来的 g^{(P - 1) / limit} 上面的幂次 *当前长度 /limit //就等于 g^{(P - 1) / 当前长度} LL Wn qpow( type, limit / (2 * mid) ); // R是当前子问题的完整长度j表示当前处理到哪个位置 for(int R mid 1, j 0; j limit; j R) { LL w 1; // 初始化当前单位根为 1即 w_n^0 for(int k 0; k mid; k, w w * Wn %P) { // 蝴蝶操作 LL x A[j k]; LL y w * A[j mid k] %P; A[j k] (x y)%P; A[j mid k] (x - y P)%P; //这里一定要 P不然会输出负数 } } } } int main() { ios::sync_with_stdio(false); cin.tie(0); int n, m; cin n; cin m; for (int i 0; i n; i) { cin a[i]; } for(int i 0; i m; i) { cin b[i]; } limit 1; l 0; while (limit n m) { limit 1; l; } LL invl qpow(limit, P - 2); //计算 N在模 P下的逆元 for (int i 0; i limit; i) { // 计算二进制位逆序 r[i] (r[i 1] 1) | ((i 1) (l - 1)); } //(P-1)/N 是N次单位根 LL t qpow(3ll, (P - 1) / limit); // 执行 NTT正变换 NTT(a, t); NTT(b, t); for (int i 0; i limit; i) { a[i] a[i] * b[i] % P; } // 计算原根的逆元用于逆变换 LL inv_t qpow(t, P - 2); // 执行 NTT逆变换 NTT(a, inv_t); for (int i 0; i n - 1 m - 1; i) { cout a[i] * invl % P ; // 逆变换后需要除以 limit乘以 limit的逆元 } cout \n; return 0; }
延伸阅读

更多相关文章

2026/11/12 16:12:58

SpaceClaim直接建模:高效几何处理与CAE前处理实战指南

1. 从“画图”到“建模”:SpaceClaim的定位与价值 如果你是一名机械工程师、产品设计师,或者从事CAE仿真分析,那么你一定对三维建模软件不陌生。SolidWorks、Creo、CATIA这些名字如雷贯耳,它们功能强大,但学习曲线陡峭…

2026/11/10 14:39:44

Go 模板语法详解

🥰个人主页:会编程的土豆(欢迎来访) 💎作者简介:后端学习者 ❄️个人专栏:数据结构与算法,数据库,leetcode ✨那些你一个人走过的夜路,终将化作照亮未来的光 …

2026/11/13 12:44:25

仙岩哪里考电工证好千万别踩坑

仙岩哪里考电工证好千万别踩坑 证书过期了不知道怎么复审延期?这是很多特种作业人员在实际操作中遇到的痛点,尤其是在仙岩地区,很多人为了图方便,选择了一些不正规的培训机构或考试点, 千万别踩坑…

2026/11/13 12:44:25

之前考的证在外省能不能转过来?报名电工证考试时间值不值得考

之前考的证在外省能不能转过来?报名电工证考试时间值不值得考 之前考的证在外省能不能转过来?这几乎是每个准备考电工证的人心头的第一道坎。特别是在许昌,不少中小施工企业的负责人,手里拿着外地的电工证,却在本地施工项目上被卡住,原因是证书没在当地…

2026/11/13 12:44:25

电工作业应符合报名门槛低吗?良心建议给你说清楚

电工作业应符合报名门槛低吗?良心建议给你说清楚 学历不高怕报不上名?电工作业应符合的报考条件其实没你想的那么高,但也不是所有人都能随便考。今天我给你说说,到底该怎么操作,别再被中介忽悠了。 案例背景:商丘工地电工小张的遭遇…

2026/11/12 20:35:13

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/13 0:01:06

办上海高压电工证良心建议:别被中介坑了,自己看这篇就够了

办上海高压电工证良心建议:别被中介坑了,自己看这篇就够了 你是不是也像我一样,第一次听说“高压电工证”这个名词,就感觉一头雾水?其实很多人都跟我一样,不知道去哪报名、怕被中介坑,结果花了冤枉钱还考不上。今天我就从一个在商丘培训过的学员角度,…

2026/11/13 0:01:06

黎里考电工证在哪里值不值得考

黎里考电工证在哪里值不值得考 之前考的证在外省能不能转过来?这是很多在外地工作、准备回老家发展的朋友最关心的问题。特别是在黎里地区,很多从事电力相关工作的朋友,都面临这样一个难题: 外省的电工证能否在本地使用?值不值得考?…

2026/11/13 0:01:06

毕节哪里考电工证 怎么报名学历不高也能上手

毕节哪里考电工证 怎么报名学历不高也能上手 你是不是也和我一样,学历不高,想着考个电工证,但又担心自己条件不够,怕报不上名?其实不然,只要符合条件,学历不高也能考电工证。今天就来聊聊【毕节哪里考电工证】这个问题,还有怎么报名,让你一步到位不…

2026/11/12 22:10:13

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑