[学习笔记]牛顿迭代
摘要:前置知识:泰勒展开,多项式求逆 作用:解自变量为多项式的函数零点(人话:解方程) 已知
G(F(x))≡0(modxn) 老倍增思路了:
G(F0(z))≡0(modx⌈n2⌉) 将$G(F(x
阅读全文
[学习笔记]多项式对数函数(多项式 ln)
摘要:思路 ln套多项式看成复合函数,(因为ln不好处理)复合函数两边同时求导,可得
A′(x)A(x)。然后记得积分回来。 前置知识:多项式求逆,多项式求导、积分 ## code: 点击查看代码 #include<bits/stdc++.h> using namespace std
阅读全文
[学习笔记]多项式开根
摘要:## 思路: 推柿子跟求逆一样,分治(倍增)的思想:不想写了 推出
(F−G)2≡0(modxn) 所以
G=F2+A2F 边界处要用二次剩余的Cipolla算法。 因此只要会多项式求逆、乘法,二次剩余即可。 code #include<bits/std
阅读全文
[学习笔记]多项式求逆
摘要:题意:如其名…… 思路: 多项式的关键在于:用模的次数降次。 它的复杂度跟模数的次幂有关。 所以可以考虑对模数分治。参考 若多项式
F只有一项,直接求常数项的逆元(这也是判别多想式是否存在逆元的条件)。 设已知 $F(x)H(x)\equiv1\pmod{x^{\left\lceil\frac{n
阅读全文
【学习笔记】多项式复合函数
摘要:## 题意: 给多项式
F(x)和
G(x),求
n次多项式
H(x),满足
H(x)=F(G(x))(mod xn+1)。 luogu传送门 思路: 题意具体可以把多项式
G当作自变量,每次次幂后,乘
F的系数。 想要暴力解决问题,试试分块。 令$L= \left\lcei
阅读全文
素数路径(Prime Distance On Tree )
摘要:题意 边长为1,求长度为素数的路径数。 思路 路径计数:点分治+fft 按深度为下标,次数为值卷起来。 结果会吧两端相同的路径算一次,把两端不同的路径算两次。 因此枚举每个点吧对应深度下标减一。 当然这是那种需要容斥的点分治。 code 点击查看代码 #include<bits/stdc++.h>
阅读全文
5651 [51nod1348]乘积之和
摘要:## 题意: 给长度为
n的数列
ai,
q个询问每次给
k,问不同方案
k个数乘起来乘积的和。(mod=1e5+4) ## 思路: 从乘起来的和切入容易想到ntt吧。问题是怎么卷。 ntt,ftt只能解决两个多项式相卷的问题。 因此用分治(二分),可解决问题。 分治是递归的,会存在状态
阅读全文
九连环
摘要:题面 即求
⌊2i+13⌋ 具体证明可以康luogu题解区。 发现需要高精度,而且不能暴力
n2高精度。因为二进制位数是
105级别,所以十进制至少是
104级别。 fft当然可以的,多项式除3也不是很难想。 这里学的是
阅读全文
[LNOI2022] 题
摘要:题意: 建议看原题面,抽象文字会严谨很多。 给长为
3∗n的字符串s,每个位置值为
[0,3],如果为
0的话,你构造字符串
t,即把
0替换为
[1,3]。如果
t中每三个配对(前提是为排列,且按编号从前往后的逆序对奇数),问配出的
n对的方案数,方案不同当且仅当
t不同或者任意
阅读全文