【题解】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年…

2026/8/3 17:09:36
优秀员工与榜样人物评选投票工具实测|天天评选功能适配指南

优秀员工与榜样人物评选投票工具实测|天天评选功能适配指南

年底评优、季度之星选拔、优秀员工及榜样人物表彰是企业、校园、社区的常规活动。多数主办方在工具选型上常遇到各类问题:公众号自带投票功能简陋、无法展示完整评选信息;部分免费投票平台存在隐性付费弹窗;活动结束后遭遇刷票争议&#xff0…

2026/8/3 17:09:36
SpringBoot+Vue全栈开发图书馆管理系统实战

SpringBoot+Vue全栈开发图书馆管理系统实战

1. 项目概述:阿博图书馆管理系统的技术架构与核心价值这套2025年最新版的阿博图书馆管理系统,采用了当前企业级开发中最主流的SpringBootVue全栈技术栈。作为经历过三个图书馆项目迭代的老开发,我可以明确地说这种架构组合在中小型管理系统开…

2026/8/3 17:09:36
2026投票工具实测测评|零广告、防刷、免费导出,快速搭建活动指南

2026投票工具实测测评|零广告、防刷、免费导出,快速搭建活动指南

线上投票活动常见痛点集中在四点:虚假免费、页面广告干扰、刷票乱象、数据无法导出归档。2026年多数免费投票工具存在功能收费、页面弹窗、防护薄弱等问题。本文基于实测数据,针对评选星、天天评选两款主流工具进行完整测评,客观对比功能配置…

2026/8/3 17:09:36
Python从入门到精通:环境搭建、四大应用领域实战与学习路径全解析

Python从入门到精通:环境搭建、四大应用领域实战与学习路径全解析

最近在后台收到不少私信,很多同学想系统学习Python,但面对网上零散、不成体系的教程,常常感到无从下手,不知道从哪里开始,也不知道学完能做什么。本文旨在为你梳理一条清晰的Python学习路径,从零基础的环境…

2026/8/3 17:09:36
芯维尔 CN8088 2.7-5.5V/1.0A 1.5MHz同步降压转换器 SOT23-5 技术解析

芯维尔 CN8088 2.7-5.5V/1.0A 1.5MHz同步降压转换器 SOT23-5 技术解析

在汽车娱乐系统、无线调制解调器、IoT设备、数码相机等由单节锂离子电池供电的便携式应用中,需要一款高效率、小尺寸且具备快速瞬态响应的降压转换器,将电池电压稳定转换为低压逻辑电源。CN8088是一款高效率单片同步降压稳压器,采用恒定频率峰…

2026/8/3 17:04:36