各种多项式操作的 n^2 递推
zszz,使用 NTT 可以在 \(\mathcal O(n\log n)\) 的时间内求出两个多项式的卷积、以及一个多项式的 \(\text{inv},\ln,\exp,\text{sqrt}\) 等,但是如果模数不是 NTT 模数(譬如 \(10^9+7\))并且复杂度允许 \(\mathcal O(n^2)\) 实现上述操作,那么再使用 \(n\log n\) 的 NTT 优化版多项式全家桶就不合适了,因此我们也要懂得如何暴力 \(n^2\) 递推。
多项式乘法
这个就过于弱智了吧……直接枚举对应位然后往它们的和的地方贡献即可,这个幼儿园就学过了(
多项式求逆
假设 \(B\) 为 \(A\) 的逆元,那么显然有 \(AB=1\),即
\]
即
\]
\]
边界 \(B_0=\dfrac{1}{A_0}\)
多项式 \(\ln\)
假设 \(B(x)=\ln A(x)\),那么注意到在我们 NTT 逆元时,我们采用了求导,再积分回去的做法,即 \(B’(x)=\dfrac{A’(x)}{A(x)}\),因此我们只需对 \(A(x)\) 求一遍逆,再积分回去即可,不过事实上还有更简洁(常数更小)的推法,具体来说
\]
\]
\]
\]
\]
一般在取 \(\ln\) 时默认 \(A_0=1\),因此一般来说上式也可以写作
\]
多项式 \(\exp\)
根据 \(\exp\) 的性质,\(\exp’(A(x))=\exp(A(x))A(x)\),因此假设 \(B(x)=\exp(A(x))\),那么显然有
\]
\]
\]
\]
多项式 \(\exp_{\le k}\)
对于多项式 \(A(x)\),定义其 \(\exp_{\le k}\) 为
\]
因此 \(\exp(A(x))\) 也可视为 \(\exp_{\le\infty}\)
那么怎么暴力求这东西呢?我们假设 \(B(x)=\sum\limits_{i=0}^k\dfrac{A^i(x)}{i!}\),那么
\]
\]
\]
我们惊奇地发现 \(\sum\limits_{i=0}^{k-1}\dfrac{A^i(x)}{i!}=B(x)-\dfrac{A^k(x)}{k!}\)
于是
\]
我们假设 \(C(x)=\dfrac{A^k(x)}{k!}\),那么
\]
\]
\]
边界条件 \(B_0=\sum\limits_{i=0}^k\dfrac{A_0^i}{i!}\)
各种多项式操作的 n^2 递推的更多相关文章
- Luogu3824 [NOI2017]泳池 【多项式取模】【递推】【矩阵快速幂】
题目分析: 用数论分块的思想,就会发现其实就是连续一段的长度$i$的高度不能超过$\lfloor \frac{k}{i} \rfloor$,然后我们会发现最长的非$0$一段不会超过$k$,所以我们可以 ...
- java中对于二位数组的简单操作,进而可以递推复杂操作
1.程序 2.结果 3.内循环的次数 arr[x].length
- BZOJ4451 [Cerc2015]Frightful Formula 多项式 FFT 递推 组合数学
原文链接http://www.cnblogs.com/zhouzhendong/p/8820963.html 题目传送门 - BZOJ4451 题意 给你一个$n\times n$矩阵的第一行和第一列 ...
- 【XSY2730】Ball 多项式exp 多项式ln 多项式开根 常系数线性递推 DP
题目大意 一行有\(n\)个球,现在将这些球分成\(k\) 组,每组可以有一个球或相邻两个球.一个球只能在至多一个组中(可以不在任何组中).求对于\(1\leq k\leq m\)的所有\(k\)分别 ...
- 【BZOJ4944】【NOI2017】泳池 概率DP 常系数线性递推 特征多项式 多项式取模
题目大意 有一个\(1001\times n\)的的网格,每个格子有\(q\)的概率是安全的,\(1-q\)的概率是危险的. 定义一个矩形是合法的当且仅当: 这个矩形中每个格子都是安全的 必须紧贴网格 ...
- [JZOJ6088] [BZOJ5376] [loj #2463]【2018集训队互测Day 1】完美的旅行【线性递推】【多项式】【FWT】
Description Solution 我们考虑将问题一步步拆解 第一步求出\(F_{S,i}\)表示一次旅行按位与的值为S,走了i步的方案数. 第二步答案是\(F_{S,i}\)的二维重复卷积,记 ...
- 利用Cayley-Hamilton theorem 优化矩阵线性递推
平时有关线性递推的题,很多都可以利用矩阵乘法来解决. 时间复杂度一般是O(K3logn)因此对矩阵的规模限制比较大. 下面介绍一种利用利用Cayley-Hamilton theorem加速矩阵乘法的方 ...
- 【瞎讲】 Cayley-Hamilton 常系数齐次线性递推式第n项的快速计算 (m=1e5,n=1e18)
[背诵瞎讲] Cayley-Hamilton 常系数齐次线性递推式第n项的快速计算 (m=1e5,n=1e18) 看CSP看到一题"线性递推式",不会做,去问了问zsy怎么做,他并 ...
- 【BZOJ-4547】小奇的集合 矩阵乘法 + 递推
4547: Hdu5171 小奇的集合 Time Limit: 2 Sec Memory Limit: 256 MBSubmit: 175 Solved: 85[Submit][Status][D ...
随机推荐
- python字符串调用举例
以如下打印为例: my name is tom and my age is 12 方式一:字符串格式化表达式 name = 'tom' age = 12 print("my name is ...
- 【数据结构与算法Python版学习笔记】树——相关术语、定义、实现方法
概念 一种基本的"非线性"数据结构--树 根 枝 叶 广泛应用于计算机科学的多个领域 操作系统 图形学 数据库 计算机网络 特征 第一个属性是层次性,即树是按层级构建的,越笼统就越 ...
- Golang通脉之错误处理
在实际工程项目中,总是通过程序的错误信息快速定位问题,但是又不希望错误处理代码写的冗余而又啰嗦.Go语言没有提供像Java.C#语言中的try...catch异常处理方式,而是通过函数返回值逐层往上抛 ...
- iNeuOS工业互联网操作系统,智慧用电测控应用案例
目 录 1. 概述... 2 2. 系统部署结构... 2 3. 用电测控终端... 3 4. 系统应用介绍... 6 1. 概述 通过物联网技 ...
- LeetCode:链表专题
链表专题 参考了力扣加加对与链表专题的讲解,刷了些 leetcode 题,在此做一些记录,不然没几天就没印象了 出处:力扣加加-链表专题 总结 leetcode 中对于链表的定义 // 定义方式1: ...
- BUAA2020软工作业(五)——软件案例分析
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 软件案例分析作业 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方面 ...
- [ NOIP2013 D2-T3 ] 华容道
NOIP2013 华容道 图论好题. 介于网上全是些令蒟蒻头昏的题解和排版一塌糊涂以及过于详细的题解...蒟蒻记录一下.. 显然需要将白格移动到 \(s\) 相邻格,然后交换 \(s\) 与白格,再将 ...
- nodejs 连接 mysql 查询事务处理
自己用 mysql 很多次的,然后又是主玩nodejs的.专门写一篇文章来说说nodejs连接mysql数据库.在使用之前,请检查计算机是否具有一下环境! nodejs 执行环境. mysql数据库环 ...
- PCIe知识摘要记录
摘: 一. 在PCIe的Spec中,并没有特别详细的关于Root Complex的定义,从实际的角度来讲,可以把Root Complex理解为CPU与PCIe总线系统通信的媒介.Endpoint处于P ...
- MySQL怎么缓解读的压力的?---buffer pool
每当我们想要缓解读,一般会想到什么? 预读取,缓存 缓存 缓存,其实就是将高频访问的数据放到内存里面,减少读盘的次数. 为了提高内存的利用率,MySQL还建立了缓存池,也就是buffer pool,存 ...