![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多项式
文章平均质量分 81
stargazer.
夜を穿つの
展开
-
【Codeforces 1349 F2】Slime and Sequences (Hard Version)(生成函数 / 多项式Exp / 拉格朗日反演)
传送门考虑一个排列和那个是一一对应的paip_{a_i}pai的权值是aia_iai前<<<的个数+1而一个排列<<<的个数即欧拉数,设为f[i][j]f[i][j]f[i][j]计算可以利用二项式反演至少至少钦定组内递增就是斯特林数f[i][j]=1j!∑k=jik!(−1)k−j(k−j)![xi](ex−1)i−kf[i][j]=\frac 1 {j!}\sum_{k=j}^{i}k!\frac{(-1)^{k-j}}{(k-j)!}[x^i](e原创 2020-05-13 18:47:12 · 1003 阅读 · 2 评论 -
【Codeforces gym 102220】I Temperature Survey(分治NTT)
传送门考虑加一个n+1n+1n+1的然后转成左上角走到右下角直接没法分治nttnttntt考虑枚举将a[mid]a[mid]a[mid]作为矩阵划分出来然后转移那么就是左/上转移到右/下设高为nnn,长为mmm上→下:上\rightarrow 下:上→下:P(x)=∑i=0m−1∑j=0iaj(i−j+n−1n−1)xiP(x)=\sum_{i=0}^{m-1}\sum_{j=0}^ia_{j}{i-j+n-1\choose n-1}x^iP(x)=∑i=0m−1∑j=0iaj(n−原创 2020-05-08 21:49:40 · 435 阅读 · 0 评论 -
【LOJ #6391】「THUPC2018」淘米神的树 / Tommy (多项式多点求值)
传送门显然把链提出来,两端点子树内每个点的贡献为1siz\frac {1}{siz}siz1最后乘一个n!n!n!考虑链上的,如果枚举最后一个点不好算考虑枚举一条边作为没经过的且在a,ba,ba,b之间连一条边那么每个点恰好被计算两次记sizsizsiz为每个点非链子树sizsizsiz的对于(i,i+1)(i,i+1)(i,i+1)之间的边贡献就是∏j≠i1∣sizi−si...原创 2020-05-04 13:02:44 · 237 阅读 · 0 评论 -
【LOJ #3070】「2019 集训队互测 Day 1」最短路径(分治 / NTT / 点分治)
传送门想一秒,写一年找出环,对于每个子树点分+NTT+NTT+NTT即可对于环分治计算即可复杂度O(nlog2n)O(nlog^2n)O(nlog2n)#include<bits/stdc++.h>using namespace std;#define cs const#define re register#define pb push_back#define p...原创 2020-04-16 17:19:21 · 330 阅读 · 0 评论 -
【省选模拟】 Fac(生成函数 / 拉格朗日反演 / 组合数学)
题意:∀i∈[0,n),求ki!(ki−i)!\forall i\in[0,n),求\frac{ki!}{(ki-i)!}∀i∈[0,n),求(ki−i)!ki!考场用快速阶乘的套路整了一个nnlognn\sqrt nlognnnlogn结果只有暴力分考虑求的(kii−1)/i∗((ki−i+1)∗i!){ki\choose i-1}/i*((ki-i+1)*i!)(i−1ki)/i∗(...原创 2020-03-29 18:24:06 · 496 阅读 · 2 评论 -
【UOJ #424】【集训队作业2018】count(矩阵快速幂 / 生成函数 / NTT)
传送门考虑实际上就是深度不超过mmm的nnn个点的笛卡尔树计数设fi(x)f_i(x)fi(x)为深度不超过iii的生成函数那么有fi(x)=fi−1(x)xfi(x)+1f_i(x)=f_{i-1}(x)xf_i(x)+1fi(x)=fi−1(x)xfi(x)+1fi(x)=11−xfi−1(x)f_i(x)=\frac{1}{1-xf_{i-1}(x)}fi(x)=1−xfi...原创 2020-03-28 19:08:14 · 353 阅读 · 0 评论 -
【洛谷 P5282】【模板】快速阶乘算法(倍增 / MTT / 拉格朗日插值)
传送门考虑分成B=nB=\sqrt nB=n块分别求即设f(d,x)=∏i=1d(x+i)f(d,x)=\prod_{i=1}^d(x+i)f(d,x)=∏i=1d(x+i)则考虑求出f(B,0),f(B,2B)....f(B,B∗B)f(B,0),f(B,2B)....f(B,B*B)f(B,0),f(B,2B)....f(B,B∗B)剩下的一点直接乘即可对于这个考虑倍增即考虑...原创 2020-03-28 18:13:58 · 458 阅读 · 0 评论 -
【洛谷 P5824】 十二重计数法(组合数学 / 多项式Exp)
传送门1:mn1:m^n1:mn2:mn‾2:m^{\underline n}2:mn3:S(n,m)m!,S3:S(n,m)m!,S3:S(n,m)m!,S为第二类斯特林数4:∑i=0mSn,i4:\sum_{i=0}^mS_{n,i}4:∑i=0mSn,i5:[n≤m]5:[n\le m]5:[n≤m]6:S(n,m)6:S(n,m)6:S(n,m)7:(n+m−1m−1...原创 2020-03-24 19:47:38 · 466 阅读 · 0 评论 -
【Codeforces 891 E】 Lust(生成函数)
传送门考虑每次贡献可以差分成aj∏i≠jai−(aj−1)∏i≠jaia_j\prod_{i\not=j}a_i-(a_j-1)\prod_{i\not=j}a_iaj∏i=jai−(aj−1)∏i=jai那么可以发现最后答案就是∏iai−E(∏idi),di表示操作完后的ai\prod_{i}a_i-E(\prod_{i}d_i),d_i表示操作完后的a_i∏iai...原创 2020-03-21 19:42:54 · 425 阅读 · 0 评论 -
【51nod 1538】一道难题(常系数齐次线性递推)
传送门观察式子的组合意义就是随便填出一个序列每次随便在aaa里选一个填要求和为mmm的方案数那么显然有转移fi=∑jfi−ajf_i=\sum_jf_{i-a_j}fi=∑jfi−aj然后做常系数齐次线性递推即可预处理f1−23333f_{1-23333}f1−23333可以用多项式求逆#include<bits/stdc++.h>using namesp...原创 2020-03-13 19:01:47 · 204 阅读 · 0 评论 -
【LOJ #6363】「地底蔷薇」(多项式快速幂 / 拓展拉格朗日反演)
传送门拉格朗日反演:若f(g(x))=xf(g(x))=xf(g(x))=x则g(f(x))=x,且[xn]f(x)=1n[xn−1](xg(x))ng(f(x))=x,且[x^n]f(x)=\frac 1 n[x^{n-1}](\frac{x}{g(x)})^ng(f(x))=x,且[xn]f(x)=n1[xn−1](g(x)x)n拓展拉格朗日反演有[xn]H(f(x))=1n[x...原创 2020-03-12 20:18:14 · 290 阅读 · 0 评论 -
【LOJ #3157】「NOI2019」机器人(区间DP / 下降幂多项式)
传送门莫名就跑到了loj rk1?loj\ rk1?loj rk1?理解不能首先可以列出一个显然的DPDPDP设fl,r,xf_{l,r,x}fl,r,x表示[l,r][l,r][l,r]最大值为xxx的方案数那么显然有fl,r,x=∑k,∣r−k+l−k∣≤2(∑y≤xfl,k−1,x)(∑y<xfk+1,r,x)f_{l,r,x}=\sum_{k,|r...原创 2020-03-09 21:26:35 · 403 阅读 · 1 评论 -
【51nod 1961】 Power Sum(生成函数 / 多项式)
传送门考虑设P(x)=∑i−1∞pixiP(x)=\sum_{i-1}^{\infty}p_ix^iP(x)=∑i−1∞pixi那么用这个题的推导方法可以得到P(x)=n−x[ln(∏k1−akx)]′P(x)=n-x[\ln(\prod_k{1-a_kx})]'P(x)=n−x[ln(∏k1−akx)]′那么有f(x)=∏k1−akx=e∫n−P(x)xdxf(x)=\pr...原创 2020-02-20 20:18:47 · 610 阅读 · 0 评论 -
【LOJ #6067】「2017 山东一轮集训 Day3」第三题(MTT / 多项式多点求值)
传送门我管你什么推式子莽一个mttmttmtt就完了在InvInvInv那里实现的好就可以跑到1s1s1s一个点#include<bits/stdc++.h>using namespace std;#define cs const#define re register#define pb push_back#define pii pair<int,int>...原创 2020-02-14 22:02:15 · 336 阅读 · 0 评论 -
【洛谷 P5825】 排列计数(二项式反演 / 多项式 / 生成函数)
传送门题解区的Eulerian numberEulerian\ numberEulerian number什么的完全看不懂啊显然能得到一个n2,dpn^2,dpn2,dpf[i][j]f[i][j]f[i][j]表示前iii个有jjj个的方案有f[i][j]=f[i−1][j]∗(j+1)+f[i−1][j−1](i−j)f[i][j]=f[i-1][j]*(j+1)+...原创 2020-02-12 19:19:42 · 260 阅读 · 0 评论 -
【洛谷 P5850】 calc加强版(生成函数+NTT)
传送门先看做无序的最后乘上n!n!n!显然可以构造生成函数∏(1+ix)\prod(1+ix)∏(1+ix)分治nttnttntt好像也可以过?不过不知道为啥RERERE了应该是炸空间了先取对在expexpexp=exp(∫(∑i1+ix)dx)=exp(\int(\sum{\frac i{1+ix}})\mathrm{dx})=exp(∫(∑1+ixi)dx)expexpexp内...原创 2020-02-09 22:36:43 · 214 阅读 · 0 评论 -
【洛谷 P5162】 WD与积木(生成函数+NTT)
传送门设非空集合的EGFEGFEGF即f(x)=ex−1f(x)=e^x-1f(x)=ex−1那么分子的EGF=∑i=0∞ifi=f(f−1)2EGF=\sum_{i=0}^{\infty}if^i=\frac{f}{(f-1)^2}EGF=∑i=0∞ifi=(f−1)2f分母的为∑i=0∞fi=11−f\sum_{i=0}^{\infty}f^i=\frac{1}{1-f}∑i=0∞...原创 2020-02-09 22:35:53 · 162 阅读 · 0 评论 -
【洛谷 P5748】集合划分计数(多项式exp)
传送门考虑非空集合集合的EGFEGFEGF即f(x)=ex−1f(x)=e^x-1f(x)=ex−1贝尔数就是任意划分集合的方案数,设EGFEGFEGF为g(x)g(x)g(x)则g=efg=e^fg=ef#include<bits/stdc++.h>using namespace std;#define cs const#define re register#defi...原创 2020-02-07 19:12:10 · 367 阅读 · 0 评论 -
【Codeforces 623E】Transforming Sequence(MTT)
传送门设f[i][j]f[i][j]f[i][j]表示iii个数,jjj位有111时的方案数那么有fa,i∗fb,j∗(i+ji)2bi−>fa+b,i+jf_{a,i}*f_{b,j}*{i+j\choose i}2^{bi}->f_{a+b,i+j}fa,i∗fb,j∗(ii+j)2bi−>fa+b,i+j于是倍增dp,fftdp,fftdp,fft优化要写...原创 2020-02-04 19:33:52 · 191 阅读 · 0 评论 -
【BZOJ4836】[Lydsy1704月赛]二元运算(分治FFT)
传送门显然权值转下标后分治FFTFFTFFT即可利用MTTMTTMTT的技巧可以做到DFTDFTDFT次数减半卡到bzoj rk2bzoj\ rk2bzoj rk2不知到第一是怎么做到2k代码跑那么快的#include<bits/stdc++.h>using namespace std;#define cs const#define re regis...原创 2020-02-01 15:17:36 · 195 阅读 · 0 评论 -
【Codeforces 848 E】Days of Floral Colours(生成函数+DP)
传送门考虑把环拆成两行相对方向的同色看做两行相同位置同色实际上只有四种可能的拼法AA;ABAB;ACA;C;AA;ABAB;ACA;C;AA;ABAB;ACA;C;(CCC是和对面的同色的)首先设gig_igi表示只由前两种情况拼起来的长度为iii的段的方案数那么有gi=gi−2+gi−4g_i=g_{i-2}+g_{i-4}gi=gi−2+gi−4设g0i=gii2,g1i...原创 2020-01-19 13:30:06 · 374 阅读 · 0 评论 -
【洛谷P5577】【CmdOI2019】算力训练(FWT)
传送门首先把权值化作下标首先显然是要求∏(1+xai)\prod(1+x^{a_i})∏(1+xai)一样的东西这里的乘法是kkk进制不进位加法卷积显然是做fwtfwtfwt由于998244353998244353998244353没有w5,w6w_5,w_6w5,w6手动扩域即可考虑加起来做fwtfwtfwt,然后再还原乘起来的fwtfwtfwt点值考虑高维dftdftdf...原创 2020-01-18 18:05:31 · 263 阅读 · 0 评论 -
【Codeforces 1103E】 Radix sum (FWT)
传送门在ldxfAKefAKeldxfAKefAKeldxfAKefAKe的帮助下终于会这道题了其实发现本身只是一个十进制fwtfwtfwt裸题但是由于奇特的模数2582^{58}258没法直接搞问题在于没有ω10\omega_{10}ω10以及idwtidwtidwt的时候除101010没有逆元首先逆元的问题可以发现10=2∗5,510=2*5,510=2∗5,5有逆元然后发现实际...原创 2020-01-11 15:15:45 · 226 阅读 · 1 评论 -
【Codeforces 1010F】Tree(链分治+分治NTT)
传送门瞎写写竟然把zxyoizxyoizxyoi的CF rk1CF\ rk1CF rk1给超了(雾)开始还读错题了(我觉得是题面自己写的锅要求的是不小于两个儿子的权值和可以把权值变为自己的减去两个儿子的显然这样不会改变方案数而且一定权值和等于xxx考虑这时候对于一个kkk个点的树分配权值的方案数就是(x+k−1k−1){x+k-1\choose k-1}(k−1...原创 2020-01-04 11:35:39 · 282 阅读 · 2 评论 -
【LOJ #3058】「HNOI2019」白兔之舞(单位根反演+矩阵快速幂+MTT)
传送门首先可以发现走iii步,从xxx到yyy的方案很好算只需要把方案矩阵AAA求A[x,y]iA^i_{[x,y]}A[x,y]i再乘一个(Li){L\choose i}(iL)就可以了那么对于每个ttt的答案就是∑m=0L[k∣m−t](A[x,y]m(Lm))\sum_{m=0}^L[k|m-t](A^m_{[x,y]}{L\choose m})∑m=0L[k∣m−t](A[...原创 2019-12-28 17:15:46 · 203 阅读 · 0 评论 -
【LOJ #2289】「THUWC 2017」在美妙的数学王国中畅游(LCT+泰勒展开)
传送门首先显然exe^xex和sinsinsin都不好维护整体发现他给你了个提示那么显然就是要用的了那么就可以直接把eee和sinsinsin在x=0x=0x=0处展开展开个十几项由于有除以阶乘所以后面的就小到可以忽略不计了其中eax+b=∑ieb(ax)ii!e^{ax+b}=\sum_{i}\frac{e^b(ax)^i}{i!}eax+b=∑ii!eb(ax)isin(...原创 2019-12-28 11:39:38 · 247 阅读 · 0 评论 -
【LOJ #6436】「PKUSC2018」神仙的游戏(NTT)
传送门考虑对于一个长度为kkk的borderborderborder那么任意i,ji,ji,j满足i≡j(mod n−k)i\equiv j(\mod n-k)i≡j(modn−k)要满足si=sjs_i=s_jsi=sj考虑不满足的话一定是有i,ji,ji,j满足si≠sjs_i\not=s_jsi=sj变下形是(n−k)∣i+(−j)(n-k)|i+(-j)(n−k)∣...原创 2019-12-18 21:22:35 · 162 阅读 · 0 评论 -
【洛谷P4245】【模板】 任意模数NTT(MTT)
传送门首先是一种只用两次DFTDFTDFT的卷积写法若求A(x)∗B(x)A(x)*B(x)A(x)∗B(x)设P(x)=A(x)+iB(x)P(x)=A(x)+iB(x)P(x)=A(x)+iB(x)Q(x)=A(x)−iB(x)Q(x)=A(x)-iB(x)Q(x)=A(x)−iB(x)那么如果求出来P(x)=∑P(x)=\sum_{}P(x)=∑...原创 2019-11-09 16:38:00 · 258 阅读 · 0 评论 -
【LOJ #2271】「SDOI2017」遗忘的集合(多项式Ln+任意模数NTT)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-11-08 23:38:34 · 206 阅读 · 0 评论 -
【LOJ #2320】「清华集训 2017」生成树计数(生成函数+分治NTT+多项式Exp)
传送门参考的就是lojlojloj讨论里面jokerjokerjoker写的做法首先答案和度数有关,考虑树的pruferpruferprufer序列先不考虑那个∑idim\sum_{i}d_i^m∑idim对每个连通块构造生成函数ft(x)=∑iati+1(i+1)mxii!f_t(x)=\sum_{i}a_t^{i+1}(i+1)^m\frac{x^i}{i!}ft(x)=∑i...原创 2019-11-07 23:38:15 · 266 阅读 · 0 评论 -
【UOJ #50】【UR #3】—链式反应(生成函数+分治NTT/多项式Exp+常微分方程)
传送门首先这个题面就很胃疼而且感觉讲的不是很清楚实际上是要求满足如下条件的树的个数:对于每个非叶节点,有c+2c+2c+2个儿子,其中有c∈Ac\in Ac∈A个叶子节点和2个非叶节点且点的编号满足父亲小于儿子按照套路设f[i]f[i]f[i]为iii个点的答案可以列出dpdpdp式f[i]=12∑j∑k[i−j−k−1∈A](i−1j)(i−j−1k)fjfkf[i]=\frac...原创 2019-11-05 19:48:54 · 420 阅读 · 0 评论 -
【洛谷P4233】— 射命丸文的笔记(竞赛图+多项式求逆)
传送门考虑强连通竞赛图哈密顿回路总数很好求为(n−1)!2(n2)−n(n-1)!2^{{n\choose 2}-n}(n−1)!2(2n)−n现在问题是求强连通竞赛图数设fif_ifi为iii个点的图数fn=2(n2)−∑i=1n−1fi(ni)2(n−i2)f_n=2^{{n\choose 2}}-\sum_{i=1}^{n-1}f_i{n\choose i}2^{{n-i\ch...原创 2019-11-02 17:55:21 · 163 阅读 · 0 评论 -
【LOJ #3120】「CTS2019 | CTSC2019」珍珠(生成函数+NTT)
传送门奇数的EGFEGFEGF为ex−e−x2\frac{e^x-e^{-x}}{2}2ex−e−x,偶数为ex+e−x2\frac{e^x+e^{-x}}{2}2ex+e−x考虑枚举奇数的个数ans=n!∑i=0n−2m(ex−e−x2y+ex+e−x2)D[xn][yi]ans=n!\sum_{i=0}^{n-2m}(\frac{e^x-e^{-x}}{2}y+\frac{e^x+e...原创 2019-11-02 17:41:20 · 171 阅读 · 0 评论 -
【LOJ #2541】「PKUWC2018」猎人杀(容斥+分治NTT)
传送门能发现对于一个死的人计算的时候不忽略他的概率而看做遇到他继续射下一个不会影响答案考虑活、死的人的概率之和为w1,w2w1,w2w1,w2那么下一次射杀iii的概率为wiw1\frac{w_i}{w1}w1wi如果把死的人也算进去那么x=w2w1+w2x+wiw1+w2x=\frac{w2}{w1+w2}x+\frac{w_i}{w1+w2}x=w1+w2w2x+w1+w2w...原创 2019-11-02 17:26:29 · 117 阅读 · 0 评论 -
【LOJ#6271】【长乐集训 2017 Day10】生成树求和 加强版(矩阵树定理)
传送门由于是三进制不进位加法考虑矩阵树求得是边权积的和于是用w3w_3w3做dftdftdft把加法转成乘法做矩阵树之后再idftidftidft回来即可至于逆元(a+bw)(a+bw2)=a2−ab+b2(a+bw)(a+bw^2)=a^2-ab+b^2(a+bw)(a+bw2)=a2−ab+b2#include<bits/stdc++.h>using namesp...原创 2019-10-15 07:53:40 · 386 阅读 · 0 评论 -
【LOJ#575】【LibreOJ NOI Round #2】—不等关系(容斥+分治NTT)
传送门设fif_ifi表示前iii个数都满足限制的方案数考虑如果忽略>>>号的限制实际上就是若干个上升段由于实际上需要在某些位置强制下降可以考虑容斥设cnticnt_icnti表示前iii个有多少个>>>那么fn=∑i=0n−1[si=′>′](−1)cntn−1−cnti(ni)fif_n=\sum_{i=0}^{n-1}[s_i='...原创 2019-10-13 19:09:39 · 248 阅读 · 0 评论 -
【BZOJ5306】【HAOI2018】—染色(组合数学+NTT)
传送门由于恰好不好要求考虑f[i]f[i]f[i]表示至少iii个颜色数量为SSS的方案数f[i]=(mi)(ni∗s)(m−i)n−i∗s∗(i∗s)!(s!)if[i]={m\choose i}{n\choose i*s}(m-i)^{n-i*s}*\frac{(i*s)!}{(s!)^i}f[i]=(im)(i∗sn)(m−i)n−i∗s∗(s!)i(i∗s)!这个式子还是比...原创 2019-07-31 16:04:28 · 142 阅读 · 0 评论 -
【洛谷P5158】【模板】多项式快速插值(分治NTT+拉格朗日插值)
传送门考虑传统的拉格朗日插值法插多项式是O(n2)O(n^2)O(n2)的即构造函数f(x)=∑i=1nyi∏j≠i(x−xj)xi−xjf(x)=\sum_{i=1}^{n}y_i\prod_{j=\not i}\frac{(x-x_j)}{x_i-x_j}f(x)=i=1∑nyij≠i∏xi−xj(x−xj)化一下f(x)=∑i=1nyi∏j≠i(xi−xj)∏...原创 2019-08-03 16:57:02 · 682 阅读 · 0 评论 -
【BZOJ4555】【TJOI2016】【HEOI2016】—求和(第二类斯特林数+NTT)
传送门题意:求∑i=0n∑j=0iS2(i,j)j!2j\sum_{i=0}^n\sum_{j=0}^{i}S_2(i,j)j!2^j∑i=0n∑j=0iS2(i,j)j!2j由于S2(i,j),i<jS_2(i,j),i<jS2(i,j),i<j时S2(i,j)=0S_2(i,j)=0S2(i,j)=0...原创 2019-07-30 21:11:43 · 128 阅读 · 0 评论 -
【洛谷P5394】【模板】—下降幂多项式乘法(指数级生成函数)
传送门首先考虑对于xn‾x^{\underline n}xn构建EGFEGFEGFxn‾=∑i=n∞in‾i!xi=∑i=n∞1(i−n)!xi=xnexx^{\underline n}=\sum_{i=n}^{\infty}\frac{i^{\underline n}}{i!}x^i=\sum_{i=n}^{\infty}\frac{1}{(i-n)!}x^i=x^ne^xxn=∑i=n...原创 2019-08-03 11:30:19 · 423 阅读 · 0 评论