bzoj3028食物
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食物的更多相关文章
- BZOJ3028 食物 (生成函数)
首先 1+x+x^2+x^3+...+x^∞=1/(1-x) 对于题目中的几种食物写出生成函数 (对于a*x^b , a表示方案数 x表示食物,b表示该种食物的个数) f(1)=1+x^2+x^4+. ...
- BZOJ3028食物——生成函数+泰勒展开
题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些 ...
- 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+…… ...
- 2018.12.30 bzoj3028: 食物(生成函数)
传送门 生成函数模板题. 我们直接把每种食物的生成函数列出来: 承德汉堡:1+x2+x4+...=11−x21+x^2+x^4+...=\frac 1{1-x^2}1+x2+x4+...=1−x21 ...
- BZOJ3028 食物 和 LOJ6261 一个人的高三楼
总结一下广义二项式定理. 食物 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数 ...
- 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........也就是说 ...
- BZOJ3028: 食物
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3028 题解:列出母函数乘起来化简之后再展开,用插板法即可. 代码: #include<c ...
- BZOJ3028: 食物(生成函数)
题意 链接 Sol 生成函数入门题. 对每个物品分别列一下,化到最后是\(\frac{x}{(1-x)^4}\) 根据广义二项式定理,最后答案是\(C_{(N - 1) + 4 - 1}^{4-1} ...
- 母函数入门笔记(施工中…
定义:对于一个数列,它的母函数(即生成函数)为 为了对这个准确求值,我们设 举一个简单的例子 例1 对于数列 他的生成函数为 ,那么应用一下等比数列求和公式 这里由于 所以当时 那么 例 ...
随机推荐
- 安全的PHP代码编写准则(转)
绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据.在采取措施 ...
- Android(java)学习笔记243:多媒体之视频播放器
1.这里我们还是利用案例演示视频播放器的使用: (1)首先,我们看看布局文件activity_main.xml,如下: <RelativeLayout xmlns:android="h ...
- Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索
最近连续三次TC爆零了,,,我的心好痛. 不知怎么想的,这题把题意理解成,第一次选择j,第二次选择i后,只能从1~i-1.i+1~j找,其实还可以从j+1~n中找,只要没有被选中过就行... [题意] ...
- python----------反射和设计模式
反射: 把字符串映动态射成对象内存地址. hasattr():判断一个对象里是否有对应的字符串的方法 getattr():根据字符串去获取obj对象里的对应方法的内存地址. class Dog(obj ...
- Python之路,Day10 - 异步IO\数据库\队列\缓存
Python之路,Day9 - 异步IO\数据库\队列\缓存 本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitM ...
- noip 2012 借教室 (线段树 二分)
/* 维护区间最小值 数据不超int 相反如果long long的话会有一组数据超时 无视掉 ll int */ #include<iostream> #include<cstdio ...
- C#中的转义字符
一些常用的转义字符: \n 换行 \b backspace,删除光标前面的一个字符 \t tab键 由多个空格组成的一个字符,具有行与行之间的对齐功能 \\ \ 如果在字符串前面加@的话: 1 ...
- Ajax 如何提交集合到mvc后台
1,前端请求如下 var apply = { CompanyName: $("[name='corpName']").val(), ContactUser: $("[na ...
- memcache的安装及管理
一.Memcache概述 Memcache(内存,缓存):是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个巨大的hash表.(key=value)(是用C语言开发的,并且需要libeven ...
- JavaScript_数组
/** * 数组本身也是对象 * js中数组类似于java里的map容器 长度可随意改变 ,元素类型任意 * */ // var arr = new Array(); // var arr = [1, ...