生成函数
里阿奴摩西
这个作者很懒,什么都没留下…
展开
-
[多项式开根 模板题] BZOJ 3625 [Codeforces Round #250]小朋友和二叉树
令A(x)=∑i∈SxiA(x)=\sum _{i \in S} x^i 以及f(x)f(x)为答案的母函数 那么f(x)=A(x)∗f2(x)+1A(x)∗f2(x)−f(x)+1=0f(x)=1±1−4A(x)−−−−−−−−√2A(x)=21±1−4A(x)−−−−−−−−√f(x)=A(x)*f^2(x)+1 \\ A(x)*f^2(x)-f(x)+1=0\\f(x)={1 \pm \s原创 2017-02-21 18:31:24 · 1090 阅读 · 0 评论 -
[指数型生成函数] HDU 1521 排列组合
对每种物品建EGF Ai(x)=∑i=0aixii!A_i(x)=\sum _{i=0}^{a_i} {x^i \over i!} 然后[xm]∏Ai(x)[x^m]\prod A_i(x)即为答案 这个题直接做一个背包就好了 而且爆搜也能过?#include<cstdio>#include<cstdlib>#include<algorithm>#include<cstring>usin原创 2017-02-21 18:43:48 · 469 阅读 · 0 评论 -
[生成函数 FFT] BZOJ 3771 Triple
一个生成函数,用FFT做乘法重复的部分我们考虑用容斥原理来解决。为了方便描述我们不妨设三个多项式。第一个是仅取一个而构成的多项式。->x第二个是仅取相同的两个而构成的多项式。->y第三个是仅取相同的三个而构成的多项式。->z对于本题有三种情况。第一种是取一个,显然直接将x加到答案就好。第二种是取两个,则需要一小步容斥,即(x*x-y)/2第三种是取三个,则需原创 2016-04-07 18:50:03 · 645 阅读 · 0 评论 -
[生成函数 FFT 分块] BZOJ 3509 [CodeChef] COUNTARI
学着大神优化了FFT常数:http://blog.csdn.net/geotcbrl/article/details/50636401可以看出来这是个生成函数暴力的话是N次FFT 然后考虑分块 B次FFT + 块内统计#include#include#include#include#include#define cl(x) memset(x,0,sizeo原创 2016-04-21 13:55:29 · 794 阅读 · 0 评论 -
[母函数 泰勒展开] BZOJ 3028 食物
这个神题汉堡=x0+x2+x4+⋯=11−x2x^0+x^2+x^4+\cdots={1 \over {1-x^2}} 蜜桃=x1+x3+x5+⋯=x1−x2x^1+x^3+x^5+\cdots={x \over {1-x^2}} 面包=x0+x3+x6+⋯=11−x3x^0+x^3+x^6+\cdots={1 \over {1-x^3}} 鸡块=x0+x4+x8+⋯=11−x4x^0+x^4原创 2017-02-21 19:20:16 · 1067 阅读 · 0 评论