10/20/2025杂题 关于在线性时间内求解低次多项式的幂

news/2025/10/20 20:51:56/文章来源:https://www.cnblogs.com/gevenfeng/p/19153619

\(g = ax^2 + bx + c\),求:

\[ f = g^n\]

其中 \(0 \leq n \leq 3 \times 10^5\)。结果对 \(10^9 + 7\) 取模。

首先可以直接用 MTT 在 \(O(n \log n)\) 的时间复杂度内求解。然而此做法常数太大,在需要多次求解时效率低下。这里我们介绍一种能在 \(O(n)\) 时间复杂度内求解问题的较小常数解法。

考虑对原式求导。根据复合函数求导法则:

\[ (f(g(x)))' = f'(g(x)) g'(x)\]

有:

\[ f' = n g^{n-1} g'\]

由于:

\[ g^{n-1} = \frac{f}{g}\]

所以:

\[ f' = n \frac{f}{g} g'\]

\[ f' g = n f g'\]

\[ [x^k] f' g = [x^k] n f g'\]

\[f'_k g_0 + f'_{k-1} g_1 + f'_{k-2} g_2 = n (f_k g'_0 + f_{k-1} g'_1)\]

\[ (k+1) f_{k+1} g_0 + k f_k g_1 + (k-1) f_{k-1} g_2 = n f_k g'_0 + n f_{k-1} g'_1\]

\[ f_{k+1} = \frac{n f_k g'_0 + n f_{k-1} g'_1 - k f_k g_1 - (k-1) f_{k-1} g_2}{(k+1)g_0}\]

先求出边界 \(f_0 = g_0^n\),然后就可以递推了。预处理 \(k+1,g_0\) 的逆元,时间复杂度为 \(O(n)\),常数比 MTT 小很多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/941585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

歌手与模特儿

https://www.luogu.com.cn/problem/AT_nikkei2019_2_final_h 第一次见到能 manacher 但不能二分+哈希的题! 直接上 manacher,当尝试将区间拓展为 \([l,r]\) 时,考察 \(nxt_l\) 和 \(lst_r\) 的位置关系,可以 check…

20251019

正睿 NOIP 十连测 B 有 \(n\) 个数 \(a_1 \sim a_n\)。初始有一个 \(x = 1\),每次需要将 \(x\) 变为某个 \(i\),花费代价为 \(\min(|i - x|, n - |i - x|)\),且 \(a_x \le a_i\)。问访问所有 \(i\) 需花费的最小代价…

计算机毕业设计 基于EChants的海洋气象数据可视化平台设计与建立 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】

计算机毕业设计 基于EChants的海洋气象数据可视化平台设计与建立 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】pre { white-space: pre !important; word-wrap: normal !important; overflo…

SpringBoot整合Redis教程

一、Redis 简介 Redis(Remote Dictionary Server)是一个开源的高性能键值对存储数据库,基于内存运行并支持持久化,常用于缓存、会话存储、消息队列等场景。其核心特点包括:速度快:基于内存操作,单线程模型避免上…

https://www.luogu.com.cn/problem/CF1635E

考虑一个事情,两辆车方向一定相反,弱化限制后,建二元关系图,发现一定是一张二分图。 钦定左部点为向左,其他点为向右,然后发现位置满足一个二元大小关系限制,建 DAG 跑拓扑序即可。

ZR 2025 NOIP 二十连测 Day 5

85 + 32 + 5 + 5 = 127, Rank 67/128.呜呜我错了……我再也不开太大的 vector 了呜呜……/dk /dk /dk25noip二十连测day5 链接:link 题解:题目内 时间:4h (2025.10.20 14:00~18:00) 题目数:4 难度:A B C D\(\colo…

关于单片机内部ADC采样率,采样精度的理解与计算整理 - 实践

关于单片机内部ADC采样率,采样精度的理解与计算整理 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

整体架构与数据流

下面给出对题目及当前代码求解方法的系统、深入解析,涵盖三问建模逻辑、数据流、关键算法、假设与局限、以及改进建议。内容按“题目需求 -> 代码实现 -> 差异/假设 -> 评估/改进”结构展开,方便你写论文或…

【上青了】

【上青了】赶紧把面板记录一下先,怕下次又又又掉了 没什么好讲的,本来上场打完就差 11 分,这场只要正常发挥就没问题变色,所以也没什么激动,该激动的上次都激动完了,哎哎哎 要说就是这次状态还行,不算差,前面 …

[VIM] reverse multiple lines in VIM

推荐方法: If you’re on a Unix-like system (FreeBSD, Linux, macOS), use :14,19!tac.来自chatgptTo reverse the display order of lines 51 to 54 in Vim, you can use the :g and :tac-style command combinati…

DeviceNet 转 Ethernet/IP:三菱 Q 系列 PLC 与欧姆龙 CJ2M PLC 在食品饮料袋装生产线包装材料余量预警的通讯配置案例

案例背景 DeviceNet 转 Ethernet/IP在食品饮料行业,包装生产线涉及多种设备,如灌装机、贴标机、封口机等。不同设备可能采用不同的工业总线协议,为了实现整个包装生产线的自动化控制和数据共享,需要将采用 Etherne…

【大模型】【扫盲】几种不同的微调方法

四种微调方式Full 对预训练模型的所有参数进行微调,让模型从底层到顶层的所有参数都参与更新,彻底适配下游任务 优点:模型对任务的适配性最强,在数据充足、任务复杂时效果通常最优 缺点:资源消耗极大(千亿参数模…

Tuack 生成比赛题目 PDF 笔记

Part 1. Tuack 的基本介绍 Tuack,是一个由来自 THU 的大佬 Mulab11 开发的,用于造算法竞赛题目的工具。 你可以用它:导出 PDF、Markdown、HTML 等多种不同格式,NOI、CPC 等不同风格的题面。 简单的出题人自评测功能…

在 wrapper 类里实现重载方法

现有包装类 Wrapper 欲覆盖 inner 的方法 g class A{void f(){g();}void g(){} }class Wrapper extends A{A inner;void f(){inner.f() // 不调用 Wrapper.g}void g(){ // override g} }inner 通过 this.g 调用时仍然会…

Vue 项目 AI 文档增量更新工具操作手册

一、工具目标 通过 AI 自动生成 Vue 组件 / JS 工具的工程化解释文档,并支持增量更新(仅处理新增 / 修改的文件),避免重复劳动,提升团队文档效率。 二、环境准备前置条件 已初始化的 Vue 项目(Vue 2 或 Vue 3 均…

P7521 [省选联考 2021 B 卷] 取模 分析

题目概述 给你 \(n\) 个数 \(a_i\)。 求:\(\max_{i\ne j\ne k}(a_i+a_j)\bmod a_k\)。 分析 好题! 我一开始看到是无从下手的。 但是细想一下,关键点在于 \(a_k\),所以的说,枚举 \(a_k\) 是必不可少的。 然后我们…

4060显卡也能玩转AI改图!Flux.1 Kontext Dev GGUF版本超详细入门教程 - 实践

4060显卡也能玩转AI改图!Flux.1 Kontext Dev GGUF版本超详细入门教程 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fam…

提升生产力:8个.NET开源且功能强大的快速开发框架

提升生产力:8个.NET开源且功能强大的快速开发框架今天大姚给大家分享8个.NET开源、免费、功能强大的快速开发框架。助你提高开发生产效率、避免996!!! Vue.NetCore 一款基于Vue(提供Vue2/Vue3版本)和.Net Core前…

Mac版PDF Squeezer v4.5.1安装教程(DMG文件下载+详细步骤)​

Mac版PDF Squeezer v4.5.1安装教程(DMG文件下载+详细步骤)​​PDF Squeezer​ 是一款 ​Mac 专用​ 的 PDF 压缩工具,可以 ​快速减小 PDF 文件大小,同时尽量保持文件清晰度,适合 ​邮件发送、云端存储或节省空间…

使用c++14标准实现函数注册包装

调用方式bool res = FunctionRegistry::callFromFuncMap1<bool, type1&, type2*, type3,... >(...),其中第一个bool为返回值类型,第二个开始后面均为参数列表类型,可用于注册算子,包装函数指针等。 #inc…