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. 安全的PHP代码编写准则(转)

    绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据.在采取措施 ...

  2. Android(java)学习笔记243:多媒体之视频播放器

    1.这里我们还是利用案例演示视频播放器的使用: (1)首先,我们看看布局文件activity_main.xml,如下: <RelativeLayout xmlns:android="h ...

  3. Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索

    最近连续三次TC爆零了,,,我的心好痛. 不知怎么想的,这题把题意理解成,第一次选择j,第二次选择i后,只能从1~i-1.i+1~j找,其实还可以从j+1~n中找,只要没有被选中过就行... [题意] ...

  4. python----------反射和设计模式

    反射: 把字符串映动态射成对象内存地址. hasattr():判断一个对象里是否有对应的字符串的方法 getattr():根据字符串去获取obj对象里的对应方法的内存地址. class Dog(obj ...

  5. Python之路,Day10 - 异步IO\数据库\队列\缓存

    Python之路,Day9 - 异步IO\数据库\队列\缓存   本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitM ...

  6. noip 2012 借教室 (线段树 二分)

    /* 维护区间最小值 数据不超int 相反如果long long的话会有一组数据超时 无视掉 ll int */ #include<iostream> #include<cstdio ...

  7. C#中的转义字符

    一些常用的转义字符: \n  换行 \b  backspace,删除光标前面的一个字符 \t  tab键 由多个空格组成的一个字符,具有行与行之间的对齐功能 \\  \ 如果在字符串前面加@的话: 1 ...

  8. Ajax 如何提交集合到mvc后台

    1,前端请求如下 var apply = { CompanyName: $("[name='corpName']").val(), ContactUser: $("[na ...

  9. memcache的安装及管理

    一.Memcache概述 Memcache(内存,缓存):是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个巨大的hash表.(key=value)(是用C语言开发的,并且需要libeven ...

  10. JavaScript_数组

    /** * 数组本身也是对象 * js中数组类似于java里的map容器 长度可随意改变 ,元素类型任意 * */ // var arr = new Array(); // var arr = [1, ...