http://www.lydsy.com/JudgeOnline/problem.php?id=3028

好吧,这是我第一道生成函数的题目。

先搞出各种食物的生成函数:

汉堡:$1+x^2+x^4+...=\frac{1}{1-x^2}$

可乐:$1+x$

鸡腿:$1+x+x^2=\frac{1-x^3}{1-x}$

蜜桃多:$x+x^3+x^5+...=\frac{x}{1-x^2}$

鸡块:$1+x^4+x^8+...=\frac{1}{1-x^4}$

包子:$1+x+x^2+x^3=\frac{1-x^4}{1-x}$

土豆片炒肉:$1+x$

面包:$1+x^3+x^6...=\frac{1}{1-x^3}$

相乘得:$f(x)=\frac{x}{(1-x)^4}$

然后接下来有两种方法:

(1)广义二项式定理

$f(x)=\frac{x}{(1-x)^4}$

$=x(1-x)^{-4}$

$=x\sum\limits_{k=0}^{\infty }C_{4+k-1}^{k}x^k$

$=x\sum\limits_{k=0}^{\infty }C_{k+3}^{3}x^k$

所以$x^n$的系数为$C_{n-1+3}^{3}=C_{n+2}^{3}$

(2)麦克劳林级数展开式

我们有如下定理:

$$f(x)=\sum\limits_{n=0}^{\infty }f^{(n)}(0)\frac{x^n}{n!}$$

$$其中f^{(n)}(x)是f(x)的n阶导数$$

回到本题

$f^{(n)}(x)=[x(1-x)^{-4}]^{(n)}$

$=\sum\limits_{k=0}^{n}C_{n}^{k}x^{(k)}[(1-x)^{-4}]^{(n-k)}$

$易知当k>1时,x^{(k)}=0,所以$

$=C_{n}^{0}x^{(0)}[(1-x)^{-4}]^{(n)}+C_{n}^{1}x^{(1)}[(1-x)^{-4}]^{(n-1)}$

$=xC_{-4}^{n}n!(1-x)^{-4-n}+nC_{-4}^{n-1}(n-1)!(1-x)^{-4-n+1}$

$易知$

$C_{-4}^{n}=\frac{(-4)\times(-5)\times...\times(-4-n+1)}{n!}=\frac{(-1)^n4\times5\times...\times(n+3)}{n!}=(-1)^nC_{n+3}^{n}$

$C_{-4}^{n-1}=(-1)^{n-1}C_{n+2}^{n-1}$

$所以$

$=x(-1)^nC_{n+3}^{n}n!(1-x)^{-4-n}+n(-1)^{n-1}C_{n+2}^{n-1}(n-1)!(1-x)^{-4-n+1}$

$=\frac{(n+3)!}{3!}x(x-1)^{-n-4}+\frac{n(n+2)!}{3!}(x-1)^{-n-3}$

$所以x^n前的系数为\frac{f^{(n)}(0)}{n!}=C_{n+2}^{3}$

bzoj3028食物的更多相关文章

  1. BZOJ3028 食物 (生成函数)

    首先 1+x+x^2+x^3+...+x^∞=1/(1-x) 对于题目中的几种食物写出生成函数 (对于a*x^b , a表示方案数 x表示食物,b表示该种食物的个数) f(1)=1+x^2+x^4+. ...

  2. BZOJ3028食物——生成函数+泰勒展开

    题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些 ...

  3. BZOJ3028 食物(生成函数)

    显然构造出生成函数:则有f(x)=(1+x2+x4+……)·(1+x)·(1+x+x2)·(x+x3+x5+……)·(1+x4+x8+……)·(1+x+x2+x3)·(1+x)·(1+x3+x6+…… ...

  4. 2018.12.30 bzoj3028: 食物(生成函数)

    传送门 生成函数模板题. 我们直接把每种食物的生成函数列出来: 承德汉堡:1+x2+x4+...=11−x21+x^2+x^4+...=\frac 1{1-x^2}1+x2+x4+...=1−x21​ ...

  5. BZOJ3028 食物 和 LOJ6261 一个人的高三楼

    总结一下广义二项式定理. 食物 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数 ...

  6. bzoj3028食物 关于(1+x+x2+x3+x4+...)^k的第i项系数就是c(i+k−1,k−1)的证明

    关于(1+x+x2+x3+x4+...)^k的第i项系数就是c(i+k−1,k−1)的证明对于第i项,假设为5x^5=x^0*x^5x^5=x^1*x^4x^5=x^2*x^3........也就是说 ...

  7. BZOJ3028: 食物

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3028 题解:列出母函数乘起来化简之后再展开,用插板法即可. 代码: #include<c ...

  8. BZOJ3028: 食物(生成函数)

    题意 链接 Sol 生成函数入门题. 对每个物品分别列一下,化到最后是\(\frac{x}{(1-x)^4}\) 根据广义二项式定理,最后答案是\(C_{(N - 1) + 4 - 1}^{4-1} ...

  9. 母函数入门笔记(施工中…

    定义:对于一个数列,它的母函数(即生成函数)为   为了对这个准确求值,我们设    举一个简单的例子 例1 对于数列 他的生成函数为 ,那么应用一下等比数列求和公式 这里由于 所以当时 那么   例 ...

随机推荐

  1. [Flexbox] Using order to rearrange flexbox children

    Using the order property we alter the order in which flexbox children appear on the page, without ma ...

  2. MaxReceivedMessageSize :已超过传入消息(65536)的最大消息大小配额

    做的windows应用程序(后台调用webservice),数据量大的时候,报错如下: System.ServiceModel.CommunicationException: 已超过传入消息(6553 ...

  3. ZOJ 3822 Domination(概率dp)

    一个n行m列的棋盘,每天可以放一个棋子,问要使得棋盘的每行每列都至少有一个棋子 需要的放棋子天数的期望. dp[i][j][k]表示用了k天棋子共能占领棋盘的i行j列的概率. 他的放置策略是,每放一次 ...

  4. vsftp配置主动模式和被动模式

    配置文件:/etc/vsftpd/vsftpd.conf 主动模式配置方法: 主动式连接使用的数据通道 connect_from_port_20=YES 支持数据流的被动式连接模式 pasv_enab ...

  5. openstack初探

    一 .openstack三大核心功能: 计算--Nova.存储--Cinder.网络--Neutron. Nova:提供了计算资源的管理,可以管理跨服务网络的VM实例.还提供对多种Hypervisor ...

  6. 把C#对象转换为json字符串

    下面的代码写在ashx一般处理程序中 声明context.Response.ContentType = "application/json";代表服务器端返回的数据为json字符串 ...

  7. windowIsTranlucent 属性

    项目中踩的大坑.  先埋. int alwaysFinish = 0; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERS ...

  8. 各版本 linux(转)

    Linux各种版本下载 ftp://ftp.linuxforum.net/ISO/Redhat7.3/valhalla-i386-disc1.iso ftp://ftp.linuxforum.net/ ...

  9. 使用mailto在网页中链接Email地址

    <a>标签还有一个作用是可以链接Email地址,使用mailto能让访问者便捷向网站管理者发送电子邮件.我们还可以利用mailto做许多其它事情.下面一一进行讲解,请看详细图示: 注意:如 ...

  10. 你好,C++(37)上车的人请买票!6.3.3 用虚函数实现多态

    6.3.3  用虚函数实现多态 在理解了面向对象的继承机制之后,我们知道了在大多数情况下派生类是基类的“一种”,就像“学生”是“人”类中的一种一样.既然“学生”是“人”的一种,那么在使用“人”这个概念 ...