曾经搞过几天的生成函数,也没做几道题,后来放弃了,今天讲了生成函数和背包问题的结合,趁着脑子清醒整理一下;

题目描述:

明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 
我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西。理所当然的,你当然要帮他计算携带N件物品的方案数。 
他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 
当然,他又有一些稀奇古怪的限制: 
每种食物的限制如下: 
承德汉堡:偶数个 
可乐:0个或1个 
鸡腿:0个,1个或2个 
蜜桃多:奇数个 
鸡块:4的倍数个 
包子:0个,1个,2个或3个 
土豆片炒肉:不超过一个。 
面包:3的倍数个

注意,这里我们懒得考虑明明对于带的食物该怎么搭配着吃,也认为每种食物都是以‘个’为单位(反正是幻想嘛),只要总数加起来是N就算一种方案。因此,对于给出的N,你需要计算出方案数,并对10007取模。

输入样例1 

输出样例1 
1

输入样例2 

输出样例2 
35 
数据范围 
对于40%的数据,1<=N<=100000; 
对于所有数据,1<=n<=10^500;

对于小数据范围的,我们显然可以用dp的背包问题处理,那么对于本题这么大的范围,我们该怎么处理呢,这就要用生成函数搞一下了;

我们讲每一个要求编号;

对于1.偶数个:生成函数是1+$x^2$+$x^4$+$x^6$+$x^8$+...=$\frac{1}{1-$x^2$}$

对于2:1+x;

对于3:1+x+$x^2$=$\frac{1+$x^3$}{1-x}$;

算了我搞不了博客园的公式,还是搞图片吧;

来自ppt,其实每一个式子都很好推导;

对于式子七等,我们可以采取先求多项式的逆元,再将其化简的方法会比较方便;

那么这个题目就是让我们求f(x)的第n-1项,为什么是n-1呢,因为分子上的x相当于一个位移的作用;

那么我们探讨一下(1-x)-4的第[n]项系数怎么求;有两种思路;

第一种:广义二项式定理;

对于负数的情况,如下;

那么答案十分显然,我们将其展开,就是C(3,n+2)

第二种思路:对于这个母函数的第n项的系数,相当于不定方程x1+x2+x3+...+xn=4的非负整数解的个数,

这个问题可以用组合数学中的插板法解决,答案也为C(3,n+2);

注意:这里的n是已经减过1的n;

转载于:https://www.cnblogs.com/Tyouchie/p/11188353.html

BZOj 3208 食物 生成函数+广义二项式定理相关推荐

  1. bzoj3028 食物 生成函数+广义二项式定理

    首先我们有一些函数推收敛式的套路. (这些是知名伪证,结论是对的,但是证明过程是胡扯)比如对于y=1+x+x2y=1+x+x^2y=1+x+x2 ,我们知道xy=x+x2+x3xy=x+x^2+x^3 ...

  2. bzoj 3208 食物(生成函数)

    先推一下生成函数 承德汉堡:偶数个 1 + x 2 + x 4 + x 6 + . . . . . . = 1 1 − x 2 1+x^2+x^4+x^6+...... =\frac{1}{1-x^2 ...

  3. BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]

    3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 497  Solved: 331 [Submit][Status][Discuss] ...

  4. [BZOJ4001] [TJOI2015] 概率论 [期望计数] [卡特兰数打表 / 生成函数广义二项式定理]

    [Link\frak{Link}Link] 预备结论们 卡特兰数 Cn=(2nn)−(2nn±1)C_n={2n\choose n}-{2n\choose n\pm1}Cn​=(n2n​)−(n±12 ...

  5. bzoj 3028 食物——生成函数

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 把式子写出来,化一化,变成 x / ((1-x)^4) ,变成几个 sigma 相乘的 ...

  6. bzoj 3028: 食物(母函数+广义二项式定理)

    3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 717  Solved: 502 [Submit][Status][Discuss] ...

  7. 生成函数(常见幂级数、广义二项式定理、生成函数的应用)

    文章目录 生成函数 引言 定义 有关幂级数的有用事实 形式幂级数 幂级数的和.积 广义二项式定理 常见的生成函数 使用生成函数解决计数问题 不定方程的解的个数 完全背包问题的方案数 有顺序的背包问题的 ...

  8. 黑暗爆炸OJ 3028. 食物 生成函数

    传送门 文章目录 题意: 思考 题意: 思考 考虑将每个条件转换成生成函数: (1)f1(x)=1+x2+...=11−x2(1)f_1(x)=1+x^2+...=\frac{1}{1-x^2}(1) ...

  9. 关于生成函数和二项式定理

    二项式定理与生成函数 一.二项式定理 二项式定理 ∀ \forall ∀ x , y x , y x,y ∈ \in ∈ R , n ∈ Z , n \in Z, n∈Z, 均有 ( x + y ) ...

最新文章

  1. Deep Learning 学习随记(三)续 Softmax regression练习
  2. 分屏如何保持运行状态_摊铺机熨平板如何保持稳定的工作状态?
  3. pytorch dropout_手把手带你使用字符级RNN生成名字 | PyTorch
  4. zabbix图表出现中文乱码
  5. Swaks - SMTP界的瑞士军刀
  6. 生成模型和判别模型的区别
  7. 光流 | OpenCV中的光流有关函数
  8. opencv4 图像特征匹配_概述 | 全景图像拼接技术全解析
  9. python 碎片图像拼接_python实现图像拼接
  10. 学习笔记--asp.net主题和外观(转自msdn,仅为自己学习存储和有意读者使用)
  11. 当攻击者采用新型逃避技术——“域遮蔽” 企业该如何应对?
  12. typedef struct引起的结构体问题
  13. bootstrap 响应式布局
  14. 66岁比尔盖茨离婚!27年前与下属恋爱修成正果,现在“无法共同成长”,分割8000亿财产...
  15. windows10使用mklink命令给C盘软件搬家
  16. 15个Python游戏小项目
  17. 下载Django中文官方文档
  18. 基于xlsx-populate实现的前端埋点导出
  19. python怎么获取向量中非零元素的行号
  20. 关于vscode中输入的中文变繁体的问题

热门文章

  1. 用起 Arduino IDE 2.0版本
  2. 建筑造型的九大设计手法,建筑人必知
  3. python通过outlook发送邮件_python使用两种发邮件的方式smtp和outlook示例
  4. 公钥密码/非对称密码:RSA、ElGamal、Diffie Hellman?LBC计算过程
  5. C#参数列表中的this(扩展方法)
  6. 使用pyinstaller对python程序打包
  7. Java汉字排序(3)按笔划排序
  8. 网络规划设计师上午真题及解析(2020)
  9. 风讯 4.0之前所有版本通杀拿SHELL 0day
  10. 下狠招解除WinXP中IE被劫持的方法