【题解】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; }

相关新闻

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

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

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

2026/10/16 15:26:45 阅读更多 →
从零实现Web服务器负载均衡:调度算法与健康检查实战

从零实现Web服务器负载均衡:调度算法与健康检查实战

1. 项目概述与核心价值 最近在折腾一个叫 gh_mirrors/we/WebServer 的开源项目,看名字像是一个镜像仓库里的Web服务器实现。我琢磨着,一个基础的Web服务器功能就那么些,监听端口、解析请求、返回响应,实现起来不算太难。但真正能…

2026/10/15 19:13:04 阅读更多 →
Azure Sphere MT3620与Grove套件物联网开发实战指南

Azure Sphere MT3620与Grove套件物联网开发实战指南

1. 从零开始:为什么选择 Azure Sphere MT3620 与 Grove 入门套件? 如果你正在寻找一个能快速上手、安全可靠且功能强大的物联网开发平台,那么 Azure Sphere MT3620 开发套件搭配 Grove 入门套件,几乎是一个“开箱即用”的黄金组合…

2026/10/16 15:53:36 阅读更多 →

最新新闻

Jenkins持续集成实战:从流水线即代码到环境一致性

Jenkins持续集成实战:从流水线即代码到环境一致性

1. 这不是“配个Jenkins就完事”的故事:为什么90%的团队在CI初期就埋下了失败伏笔“如何使用Jenkins进行持续集成测试”——这个标题在技术社区里每年被搜索数万次,但真正跑通、用稳、产生实际价值的项目,我粗略估算不到三成。我在某实验室带…

2026/10/17 10:35:06 阅读更多 →
行情系统多级缓存架构:Redis+Caffeine双缓存实战指南

行情系统多级缓存架构:Redis+Caffeine双缓存实战指南

1. 为什么行情系统必须用“Redis Caffeine”双缓存,而不是单点扛压?你刚接手一个实时行情服务模块,接口平均响应时间从80ms突然跳到320ms,TP99延迟突破1.2秒,下游几个交易终端开始报“行情超时”,运维告警…

2026/10/17 10:35:06 阅读更多 →
DeepSeek本地知识库选型:Cherry Studio与AnythingLLM嵌入模型对比实测

DeepSeek本地知识库选型:Cherry Studio与AnythingLLM嵌入模型对比实测

简介:这份文档面向从事AI工具研发的技术人员与企业IT负责人,围绕DeepSeek模型知识库场景,系统对比Cherry Studio与AnythingLLM的实际使用效果,并进一步评测三种嵌入模型的性能差异。实验以deepseek-r1:8b为基础模型,投…

2026/10/17 10:35:06 阅读更多 →
DeepSeek、Kimi、笔灵谁最好用?5款网文作者亲测的AI写作神器横评:用TaoToken统一Key跑通全流程

DeepSeek、Kimi、笔灵谁最好用?5款网文作者亲测的AI写作神器横评:用TaoToken统一Key跑通全流程

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

2026/10/17 10:35:06 阅读更多 →
2026编程分水岭:从会写代码到驾驭大模型,程序员破局关键

2026编程分水岭:从会写代码到驾驭大模型,程序员破局关键

1. 2026年,编程圈的那道分水岭我最近跟几个在头部互联网公司带团队的朋友聊了个天,有个话题绕不开:现在招人,到底招什么样的程序员?有个在某大厂带架构组的朋友说得很直白:“过去三年,我筛简历看…

2026/10/17 10:35:06 阅读更多 →
全国产化算力训练语音基座大模型:MoE架构与多模态技术解析

全国产化算力训练语音基座大模型:MoE架构与多模态技术解析

1. 语音基座大模型到底是个什么东西先把概念理清楚。语音基座大模型,英文一般叫 Speech Foundation Model 或者 Audio Foundation Model,它和咱们熟悉的文本大模型(比如各种对话模型)在定位上有本质区别。文本大模型处理的是离散的…

2026/10/17 10:34:05 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/16 14:23:36 阅读更多 →