随笔分类 - 数论——FFT/NTT/多项式/生成函数
摘要:XIV.CF553E Kyoya and Train 题解
阅读全文
摘要:XIII.CF623E Transforming Sequence 这题仔细一想还挺简单的……但是我一直在想有标号的DP,但实际上只需要用无标号DP即可…… 首先,一眼可以看出当$n>k$时无解,可以直接特判掉。 则我们设$f[i][j]$表示当前填到第$i$个数,且前$i$个数$\operator
阅读全文
摘要:XII.差分与前缀和 打 表 出 奇 迹 我们先考虑前缀和。 对于两个下标$i,j$,我们考虑$k$阶前缀和后,位置$j$会被加上多少个$a_i$。显然,加上$a_i$的数量,仅与$j-i$的值有关。 于是我们就打表辣 \(k\) \ \(j-i\) 0 1 2 3 4 1 1 1 1 1 1 2
阅读全文
摘要:XI.CF438E The Child and Binary Tree 经 典 老 题 我们可以设一个$G$,其中$G_x=[\exists\ i\ \text\ c_i=x]$,即是否存在$x$这个值。 我们再设$F_x$表示权值为$x$的二叉树的方案数。很明显有$F_0=1$。 则我们枚举树根的
阅读全文
摘要:XI.[集训队作业2013]城市规划 各类计数问题是多项式最常见的场景。 这里有一个套路,就是设$f(x)$为合法个数,$g(x)$为全部个数,然后往往$g$可以被$f$与$g$表示出来,且$g$本身有通项公式,然后就可以简单求解了。 例如这题。我们设$f(x)$为联通图个数,$g(x)$为全部无向
阅读全文
摘要:X.拉格朗日插值2 从这题开始,拉格朗日插值就逐渐同多项式同流合污了。 我们列出式子: \(f(m+i)=\sum\limits_{j=0}^nf(j)\prod\limits_{k\neq j}\dfrac{m+i-k}{j-k}\) 借鉴前面的思想,我们将它转成了 \(f(m+i)=\sum\l
阅读全文
摘要:IX.CF622F The Sum of the k-th Powers 看上去这题是上一题的弱化版,但其实不是——上题我们要筛出式子,但是这题我们要保证复杂度。 首先,我们打算选取$0\sim k+1$,共$k+2$个点进行插值。我们设$f_x=\sum\limits_x ik$。 则由拉格朗日插
阅读全文
摘要:VIII.[TJOI2018]教科书般的亵渎 这题主要是介绍拉格朗日插值模板那题中,我们提到的“求出$f(x)$的多项式表达”的做法。 首先,这题显然如果我们令$f(x)=\sum\limits_i{m+1}$,且$a_{m+1}=n+1$的话,答案就是 \(\sum\limits_{i=1}^{m
阅读全文
摘要:VII.【模板】拉格朗日插值 我们之前一直在研究多项式。但是多项式都是从哪来的呢? 所以拉格朗日插值就给了我们一种求多项式的方式。具体而言,运用拉格朗日插值,你可以根据$n+1$个点求出一个$n$次多项式来经过这所有点。 我们来看一下这具体是怎么实现的。 我们定义拉格朗日基本多项式为: \(\box
阅读全文
摘要:namespace Poly{ const int N=1<<20; const int mod=998244353; const int G=3; int n,rev[N],f[N],g[N],all; int ksm(int x,int y){ int rt=1; for(;y;x=(1llxx
阅读全文
摘要:VII.【模板】多项式除法 首先,为了方便,我们将$n$和$m$各自加一。 我们设$F^T$为$F$的翻转,更准确的定义为 \(F^T(x)=x^{n-1}F(\dfrac{1}{x})\) 现在我们考虑推式子。 由题意, \(F(x)=(GQ)(x)+R(x)\) 因为这个$x$是无实意的,故我们
阅读全文
摘要:VII.【模板】多项式幂函数 (加强版) 可以看到这题与上题的唯一区别就是$a_0$的取值。 因为我们之前在$\ln$的时候,是要求$a_0=1$的;而这题不保证$a_0=1$,咋办呢? 我们考虑到当$a_0\neq0$时,我们有 \(a^k=(\dfrac{a}{a_0})^k\times(a_0
阅读全文
摘要:VI.【模板】多项式快速幂 我们要求$g=f^k$ 两边求$\ln$得到 \(\ln g=k\ln f\) 然后再幂回去 \(g=e^{k\ln f}\) 于是一次$\ln$,一次$\exp$即可解决。 关于那个超大的$k$,在读入的时候直接$\bmod$上去即可。 时间复杂度$O(n\log n)
阅读全文
摘要:VI.【模板】多项式开根(加强版) 这题和上题唯一的区别就是$a_0$的取值——本题$a_0$不一定为$1$。 咋办呢? 我们观察到里面有一句话: 保证$a_0$是$\bmod\ 998244353$下的二次剩余。 二次剩余?这是啥?能吃吗? 这时,你突然想起曾经看到过一道模板题: 【模板】二次剩余
阅读全文
摘要:V.【模板】多项式开根 同之前无数题一样,我们设已知$b2\equiv A\pmod{xm}$,并且我们想求出一个$B$使得$B2\equiv A\pmod{x{2m}}$。 首先,显然有 \(B-b\equiv0\pmod{x^m}\) 老套路,平方一下,得到 \(B^2-2Bb+b^2\equi
阅读全文
摘要:IV.【模板】多项式指数函数(多项式 exp) 本题有两种解法,一种比较好理解,一种比较通用(并且速度快)。 首先法一便是分治FFT解法。 我们有 \(B=e^A\) 于是两边求导,得到 \(B'=A'e^A\) 因为又有$B=e^A$,代入得 \(B'=A'B\) 我们再积分回去,得到 \(\in
阅读全文
摘要:III.【模板】多项式对数函数(多项式 ln) 这题大概不难吧( 我们已知$B\equiv\ln(A)$ 于是两边求导,就有$B'\equiv\ln'(A)$。 右边套个链式求导法则,就等于$\ln'(A)\equiv\dfrac{A'}$ 于是$B'\equiv\dfrac{A'}$ 然后两边不定
阅读全文
摘要:II.【模板】多项式乘法逆 \(F\times G\equiv1(\operatorname{mod} x^n)\)?这是啥意思? 实际上,它的意思就是$F\times G$的$1\sim n$次幂的系数都为$0$,只有常数项为$1$,再往上的系数不管。 我们考虑递推求解。 设我们已经求出了使$F\
阅读全文
摘要:I.【模板】分治 FFT 作为多项式的第一题,这题还是挺好理解的。 首先,我们完全可以把$n$扩大到$2$的次幂,空余地方补上$0$,并且答案不变。 然后,对于递推式$f_i=\sum\limits_^f_g_j$,我们如果再令$g_0=0$的话,显然这个$j$的下界是可以改成$0$的——虽然这会使
阅读全文
摘要:CXLV.[九省联考2018]秘密袭击coat 首先先讲一种暴力但能过的方法。 很容易就会往每个值各被计算几次的方向去想。于是我们枚举每个节点,计算有多少种可能下该节点是目标节点。 为了避免相同的值的影响,我们在值相同的点间也决出一种顺序,即,若两个值相同的点在作比较,依照上文定下的那种顺序决定。
阅读全文

浙公网安备 33010602011771号