
生成函数
文章平均质量分 85
SC.ldxcaicai
我很菜=_=
展开
-
bzoj3028: 食物(生成函数)
传送门生成函数模板题。我们直接把每种食物的生成函数列出来:承德汉堡:1+x2+x4+...=11−x21+x^2+x^4+...=\frac 1{1-x^2}1+x2+x4+...=1−x21可乐:1+x=1−x21−x1+x=\frac{1-x^2}{1-x}1+x=1−x1−x2鸡腿:1+x+x2=1−x31−x1+x+x^2=\frac{1-x^3}{1-x}1+x+x2=1...原创 2018-12-30 17:38:02 · 375 阅读 · 1 评论 -
第一类斯特林数小结
第一类斯特林数s1nms1_n^ms1nm表示将nnn个数放进mmm个圆排列的方案数。有一个显然的递推式:s1nm=s1n−1m−1+(n−1)s1n−1ms1_n^m=s1_{n-1}^{m-1}+(n-1)s1_{n-1}^ms1nm=s1n−1m−1+(n−1)s1n−1m,对应的意义:要么第nnn个单独构成一个新的圆排列,要么放在之前某个数的后面。还有一种组合意义:一共进行...原创 2019-04-02 21:33:18 · 880 阅读 · 0 评论 -
第二类斯特林数小结
第二类斯特林数s2nms2_n^ms2nm表示将nnn个数放进mmm个集合的方案数。有一个显然的递推式:s2nm=s2n−1m−1+m∗s2n−1ms2_n^m=s2_{n-1}^{m-1}+m*s2_{n-1}^ms2nm=s2n−1m−1+m∗s2n−1m,对应的意义:要么第nnn个单独构成一个新的集合,要么放在之前某个集合中。然而第二类斯特林数并没有什么生成函数。但它可以花...原创 2019-04-02 22:02:18 · 946 阅读 · 0 评论 -
洛谷P5394 【模板】下降幂多项式乘法(生成函数)
传送门考虑求出如下两个多项式的乘积:A(x)=∑i=0naixi‾,B(x)=∑i=0mbixi‾A(x)=\sum_{i=0}^na_ix^{\underline i},B(x)=\sum_{i=0}^mb_ix^{\underline i}A(x)=∑i=0naixi,B(x)=∑i=0mbixi然后考虑把它们转成点值形式然后乘起来再转回去。设现在F(x)=∑i=0nfix...原创 2019-08-02 21:53:50 · 333 阅读 · 0 评论 -
洛谷P5383 【模板】普通多项式转下降幂多项式(多项式多点求值)
已知普通多项式A(x)=∑i=0naixiA(x)=\sum_{i=0}^na_ix^iA(x)=∑i=0naixi现在求B(x)=∑i=0nbixi‾B(x)=\sum_{i=0}^nb_ix^{\underline i}B(x)=∑i=0nbixi使得A(x)=B(x)A(x)=B(x)A(x)=B(x)思路:考虑先多点求值,然后iffpiffpiffp即可求出对应的下降幂多项...原创 2019-08-03 11:28:56 · 302 阅读 · 0 评论 -
洛谷P5393 【模板】下降幂多项式转普通多项式(多项式快速插值)
传送门已知下降幂多项式A(x)=∑i=0naixi‾A(x)=\sum_{i=0}^na_ix^{\underline i}A(x)=∑i=0naixi现在求普通多项式B(x)=∑i=0nbixiB(x)=\sum_{i=0}^nb_ix^iB(x)=∑i=0nbixi使得A(x)=B(x)A(x)=B(x)A(x)=B(x)思路:考虑先ffpffpffp转点值,然后快速插值即可...原创 2019-08-03 15:14:27 · 553 阅读 · 1 评论 -
洛谷P5396 【模板】第二类斯特林数·列(生成函数+分治ntt/倍增ntt)
传送门给出同阶的n,kn,kn,k要求在O(klog2k)O(k\log^2k)O(klog2k)时间内处理出第二类斯特林数的第kkk列。即求出Sik,0≤i≤nS_{i}^{k},0\le i\le nSik,0≤i≤n思路:考虑第kkk列斯特林数的生成函数:Sk(x)=∑i=0∞Sikxi=∑i=0∞(Si−1k−1+Si−1kk)xi=kxSk(x)+Sk−1(x)S_k(x...原创 2019-08-03 22:01:29 · 549 阅读 · 0 评论 -
bzoj4228:Tibbar的后花园(生成函数+多项式exp)
传送门考虑只可能由链或者长度不为3倍数的三的环组成。然后就把环和链的生成函数列出来生成集合。多项式expexpexp即可。代码:#include<bits/stdc++.h>#define ri register intusing namespace std;const int mod=1004535809,N=1e6+5;typedef long long ll;...原创 2019-08-06 21:59:59 · 519 阅读 · 0 评论 -
生成函数进阶
文章目录一般生成函数(OGF)OGF的运算OGF生成序列指数生成函数(EGF)EGF的运算EGF生成序列EGF生成集合生成函数计数置换计数背包计数Q1Q2Q3树的计数有标号无根树计数有标号有根树计数无标号有根树计数无标号无根树计数可以先看这篇博客的生成函数和多项式部分。在开头我们再次回顾生成函数定义:一般生成函数(OGF)一般用于处理组合问题(无标号)F(x)=∑i=0∞fixiF(x)...原创 2019-08-07 02:02:26 · 882 阅读 · 0 评论 -
洛谷P4705 玩游戏(生成函数+分治ntt)
传送门sbsbsb题。。。考虑到Anst=1nm∑i=1n∑j=1m(ai+bj)t=1nm∑i=1n∑j=1m∑k=0tCtkaikbjt−k=t!nm∗[xn]((∑i≥0∑j=1najij!xi)(∑i≥0∑j=1mbjij!xi))\begin{aligned}Ans_t=&\frac1{nm}\sum_{i=1}^n\sum_{j=1}^m(a_i+b_j)^t\\=...原创 2019-08-14 00:07:33 · 242 阅读 · 0 评论 -
LOJ#2409. 「THUPC 2017」小 L 的计算题 / Sum(生成函数)
传送门直接把答案的OGFOGFOGF搞出来然后交换和式变形即可:F=∑i≥0fixiF=∑i≥0xi∑j=1najiF=∑j=1n∑i≥0(ajx)iF=∑i=1n11−aixF=∑i=1n(1+aix1−aix)F=n+x∑i=1nai1−aixF=n−x(∑i=1nln(1−aix))\begin{aligned}F=&\sum_{i\ge0}f_ix^i\\F=&...原创 2019-08-09 19:23:23 · 325 阅读 · 0 评论 -
UOJ#450. 【集训队作业2018】复读机(EGF+单位根反演)
传送门蒟蒻的第一道单位根反演,感觉还挺好用的考虑对于每个复读机列出生成函数:F=∑i≥0[d∣i]xii!F=\begin{aligned}F=&\sum_{i\ge0}[d|i]\frac{x^i}{i!}\\F=&\end{aligned}F=F=i≥0∑[d∣i]i!xi...原创 2019-08-09 20:40:26 · 307 阅读 · 0 评论 -
bzoj2655: calc(生成函数+拉格朗日插值)
传送门题意简述:问有多少数列满足如下条件:所有数在[1,A][1,A][1,A]之间。没有相同的数数列长度为nnn一个数列的贡献是所有数之积,问所有满足条件的数列的贡献之和。A≤1e9,n≤500A\le1e9,n\le500A≤1e9,n≤500思路:肯定不能枚举所有情况。我们先规定这个数列满足a1&lt;a2&lt;⋅˙⋅⋅&lt;ana_1&a...原创 2019-02-19 14:16:29 · 340 阅读 · 0 评论 -
codeforces 1096G. Lucky Tickets(生成函数)
传送门题意简述:现在有一些号码由000~999中的某些数字组成(会给出),号码总长度为nnn,问有多少个号码满足前n2\frac n22n个数码的和等于后n2\frac n22n个数码的和(保证nnn是偶数),答案对998244353998244353998244353取模。思路:一道挺显然的生成函数+快速幂。考虑到前n2\frac n22n个数码和的生成函数和后n2\frac n...原创 2019-01-26 11:58:06 · 481 阅读 · 0 评论 -
多项式相关&&生成函数相关&&一些题目(updating...)
索引多项式乘法多项式求逆多项式求导多项式积分多项式乘法这个大家应该都会吧还是简单推推式子吧。已知的:A(x)=∑i=0naixiA(x)=\sum_{i=0}^na_ix^iA(x)=∑i=0naixiB(x)=∑i=0mbixiB(x)=\sum_{i=0}^mb_ix^iB(x)=∑i=0mbixi要求的:C(x)=A(x)B(x)=∑i=0n+m(∑j=0...原创 2018-12-30 10:50:32 · 1482 阅读 · 0 评论 -
poj3734 Blocks(生成函数)
传送门生成函数入门题。按照题意构造函数:对于限定必须是出现偶数次的颜色:1+x22!+x44!+...=ex+e−x21+\frac {x^2}{2!}+\frac {x^4}{4!}+...=\frac{e^x+e^{-x}}21+2!x2+4!x4+...=2ex+e−x对于无限定的颜色:1+x1!+x22!+...=ex1+\frac x{1!}+\frac{x^2}{2!}...原创 2018-12-30 19:44:29 · 232 阅读 · 0 评论 -
bzoj3027: [Ceoi2004]Sweet(生成函数+搜索)
传送门生成函数好题。题意简述:给出n个盒子,第iii个盒子里有mim_imi颗相同的糖(但不同盒子中的糖不相同),问有多少种选法可以从各盒子中选出数量在[a,b][a,b][a,b]之间的糖果。思路:先对每个盒子构造出生成函数:1+x2+...+xmi=1−xmi+11−x1+x^2+...+x^{m_i}=\frac{1-x^{m_i+1}}{1-x}1+x2+...+xmi=1−x...原创 2018-12-30 20:44:09 · 272 阅读 · 0 评论 -
bzoj3771: Triple(生成函数+fft+容斥原理)
传送门生成函数经典题。题意简述:给出nnn个数,可以从中选1/2/31/2/31/2/3个,问所有可能的和对应的方案数。思路:令A(x),B(x),C(x)A(x),B(x),C(x)A(x),B(x),C(x)表示选111个,222个,333个的生成函数,ans1(x),ans2(x),ans3(x)ans1(x),ans2(x),ans3(x)ans1(x),ans2(x),ans3...原创 2018-12-31 00:26:25 · 357 阅读 · 0 评论 -
bzoj3992: [SDOI2015]序列统计(生成函数+ntt+快速幂)
传送门生成函数简单题。题意:给出一个集合A={a1,a2,...as}A=\{a_1,a_2,...a_s\}A={a1,a2,...as},所有数都在[0,m−1][0,m-1][0,m−1]之间,mmm是一个质数,求满足全部由这个集合里的组成且长度为nnn且所有数之积与xxx在模mmm意义下相同的数列总数。思路:对a1,a2,..,as,xa_1,a_2,..,a_s,xa1,...原创 2018-12-31 17:43:57 · 348 阅读 · 0 评论 -
bzoj4001: [TJOI2015]概率论(生成函数)
传送门生成函数好题。题意简述:求nnn个点的树的叶子数期望值。思路:考虑fnf_nfn表示nnn个节点的树的数量。所以有递推式f0=1,fn=∑i=0n−1fifn−1−i(n&gt;0)f_0=1,f_n=\sum_{i=0}^{n-1}f_if_{n-1-i}(n&gt;0)f0=1,fn=∑i=0n−1fifn−1−i(n>0)正是一个卷积的形...原创 2018-12-31 22:01:34 · 419 阅读 · 0 评论 -
bzoj3625:小朋友和二叉树(生成函数+多项式求逆+多项式开方)
传送门生成函数好题。卡场差评至今未过题意简述:nnn个点的二叉树,每个点的权值KaTeX parse error: Expected 'EOF', got '\inC' at position 4: v_i\̲i̲n̲C̲=\{a_1,a_2,...a…,定义一棵树的权值为所有点的权值之和,问有多少棵树满足其权值等于i(i=1,2,...,m)i(i=1,2,...,m)i(i=1,2,.....原创 2019-01-01 21:09:30 · 255 阅读 · 0 评论 -
NOIP训练 三七二十一(生成函数)
传送门生成函数基础题。题意简述:求由1,3,5,7,9这5个数字组成的n位数个数,要求其中3和7出现的次数都要是偶数。考虑对于每个数字构造生成函数。对于1,5,9:∑nxnn!=ex\sum_n\frac{x^n}{n!}=e^x∑nn!xn=ex对于3,7:∑nx2n(2n)!=ex+e−x2\sum_n\frac{x^{2n}}{(2n)!}=\frac{e^x+e^{-x}...原创 2019-01-02 12:13:38 · 1053 阅读 · 0 评论 -
poj1322 Chocolate(生成函数+二项式定理)
传送门生成函数好题。题意简述:一个袋子里有ccc种不同颜色的球,现要操作nnn次,每次等概率地从袋中拿出一个球放在桌上,如果桌上有两个相同的球就立刻消去,问最后桌上剩下mmm个球的概率。第一眼反应是概率dpdpdp,怼了一波式子之后发现要TTT果断弃掉。我们考虑推答案的式子吧。由题可知,ccc种球有mmm个出现奇数次,c−mc-mc−m个出现偶数次。于是我们对每一种颜色构造生成函数(...原创 2019-01-02 12:37:40 · 497 阅读 · 0 评论 -
poj3046 Ant Counting(生成函数+dp)
传送门生成函数基础题。题意:给出nnn个数以及它们的数量,求从所有数中选出i∣i∈[L,R]i|i\in[L,R]i∣i∈[L,R]个数来可能组成的集合的数量。直接构造生成函数然后乘起来f(x)=∏i=1n(1+x+x2+...+xtimei)f(x)=\prod_{i=1}^n(1+x+x^2+...+x^{time_i})f(x)=∏i=1n(1+x+x2+...+xtimei)然...原创 2019-01-02 13:48:28 · 216 阅读 · 0 评论 -
bzoj3456: 城市规划(生成函数+多项式取对)
传送门生成函数好题。题意:求n个点的简单(无重边无自环)无向连通图数目思路:对简单无向图构造生成函数f(x)=∑n2Cn2xnn!f(x)=\sum_n2^{C_n^2}\frac{x^n}{n!}f(x)=∑n2Cn2n!xn然后令答案的生成函数为g(x)=∑ncnxnn!g(x)=\sum_nc_n\frac{x^n}{n!}g(x)=∑ncnn!xn由于f(x)f(...原创 2019-01-03 01:10:30 · 341 阅读 · 0 评论 -
codeforces 632E. Thief in a Shop(生成函数)
传送门题意简述:给nnn个物件,物件iii有一个权值aia_iai,可以选任意多个。现在要求选出kkk个物件出来(允许重复)问最后得到的权值和的种类数。n,k,ai≤1000n,k,a_i\le1000n,k,ai≤1000思路:这是一道很显然的生成函数,我们把选一个物件的生成函数给列出来,然后取它的kkk次方就是答案。显然可以上一波fftfftfft 成功T飞在博主卡场无果之后...原创 2019-01-26 11:26:36 · 479 阅读 · 0 评论 -
洛谷P4389 付公主的背包(生成函数)
传送门按照这上面写的推导化简并操作就可以水过这个菜题。代码:#include<bits/stdc++.h>#define ri register intusing namespace std;const int rlen=1<<18|5;inline char gc(){ static char buf[rlen],*ib,*ob; (ib==ob)&am...原创 2019-08-10 02:07:14 · 362 阅读 · 0 评论