当前位置: 首页 > news >正文

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

\(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.jsqmd.com/news/17778/

相关文章:

  • 歌手与模特儿
  • 20251019
  • 计算机毕业设计 基于EChants的海洋气象数据可视化平台设计与建立 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
  • https://www.luogu.com.cn/problem/CF1635E
  • ZR 2025 NOIP 二十连测 Day 5
  • 关于单片机内部ADC采样率,采样精度的理解与计算整理 - 实践
  • 整体架构与数据流
  • 【上青了】
  • [VIM] reverse multiple lines in VIM
  • DeviceNet 转 Ethernet/IP:三菱 Q 系列 PLC 与欧姆龙 CJ2M PLC 在食品饮料袋装生产线包装材料余量预警的通讯配置案例
  • 【大模型】【扫盲】几种不同的微调方法
  • Tuack 生成比赛题目 PDF 笔记
  • 在 wrapper 类里实现重载方法
  • Vue 项目 AI 文档增量更新工具操作手册
  • P7521 [省选联考 2021 B 卷] 取模 分析
  • 4060显卡也能玩转AI改图!Flux.1 Kontext Dev GGUF版本超详细入门教程 - 实践
  • 提升生产力:8个.NET开源且功能强大的快速开发框架
  • Mac版PDF Squeezer v4.5.1安装教程(DMG文件下载+详细步骤)​
  • 使用c++14标准实现函数注册包装
  • 【VSCode中Java创建环境安装的三个层级之Maven篇】(Windows版)
  • 详细揭秘:马拉车算法
  • 黑马程序员Java基础笔记
  • 实用指南:linux磁盘空间爆满排查与清理
  • 实用指南:socketpair深度解析:Linux中的“对讲机“创建器
  • 详细介绍:从零开始的C++学习生活 2:类和对象(上)
  • 【aigc】chrome-devtools-mcp怎么玩? - 指南
  • 2025年不锈钢酸洗钝化液厂家推荐排行榜,环保型不锈钢管酸洗钝化液,不锈钢清洗钝化液,酸洗钝化处理工艺及不锈钢清洗剂公司推荐
  • 记账:流水报表
  • 百度网盘非会员下载慢怎么解决 - fosgrignonhto
  • 嵌入式硬件——基于IMX6ULL的UART(通用异步收发传输器) - 教程