由于该题网上只有一篇题解,还是萎的,所以写一篇
该题解在本人QQ空间和CSDN里都有

3028: 食物

Time Limit: 3 Sec  Memory Limit: 128 MB
Submit: 89  Solved: 47
[Submit][Status]

Description

明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!

我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西。理所当然的,你当然要帮他计算携带N件物品的方案数。

他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等

当然,他又有一些稀奇古怪的限制:

每种食物的限制如下:

承德汉堡:偶数个

可乐:0个或1个

鸡腿:0个,1个或2个

蜜桃多:奇数个

鸡块:4的倍数个

包子:0个,1个,2个或3个

土豆片炒肉:不超过一个。

面包:3的倍数个

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

Input

输入样例1

1

输出样例1

1

输入样例2

5

输出样例2

35

数据范围

对于40%的数据,1<=N<=100000;

对于所有数据,1<=n<=10^500;

Output

Sample Input

Sample Output

HINT

Source

首先列出所有食物的母函数

汉堡:1+x^2+x^4+.....=1/(1-x^2)

可乐:1+x

鸡腿:1+x+x^2

蜜桃多:x+x^3+x^5+.....=x/(1-x^2)

鸡块:1+x^4+x^8+....=1/(1-x^4)

包子:1+x+x^2+x^3

土豆:1+x

面包:1+x^3+x^6+...=1/(1-x^3)

母函数有一个很有用的用处:把所有食物的母函数相乘后,x^n项的系数就是答案

解法一:

那么我们把母函数相乘

[1/(1-x^2)]*(1+x)*(1+x+x^2)* [x/(1-x^2)]*[1/(1-x^4)] *[1+x+x^2+x^3]*[(1+x)]*[1/(1-x^3)]

化简后得到 x/(1-x)^4,过程略,化简主要用到的公式平方差公式和:1+x+x^2+x^3+......x^n=(x^(n+1)-1)/(x-1)还有:1+x+x^2+x^3+...x^(无限)=1/(1-x)

x/(1-x)^4 =x*(1/(1-x)^4)

=x*(1+x+x^2+x^3+x^4+.....x^(无限))^4

=x*((1+x+x^2+x^3+x^4+.....x^(无限))^2)^2

现在计算(1+x+x^2+x^3+x^4+.....x^(无限))^2

显然可得(1+x+x^2+x^3+x^4+.....x^(无限))^2=1+2x+3x^2+4x^3+......x^(无限)

显然这个多项式中系数是指数+1

然后可以计算1(1-x)^4了

x/(1-x)^4=x*(1+x+x^2+x^3+x^4+.....x^(无限))^4

=x*((1+x+x^2+x^3+x^4+.....x^(无限))^2)^2

=x*(1+2x+3x^2+4x^3+......x^(无限))^2

根据多项式乘法的定义

设A,B,C是3个多项式 F(A,I)表示多项式A中x^i项的系数

若A*B=C

则F(C,X)=∑(F(A,K)*F(B,X-K))   {K=0....X}

设A=B=1+2x+3x^2+4x^3+......x^(无限)

那么F(C,N-1)就是我们要求的答案

(注:由于x*(1/(1-x)^4),外面乘了个x,所以我们求的是F(C,N-1)而不是F(C,N))

观察1+2x+3x^2+4x^3+......x^(无限)的特性可知:

F(A,X)=X+1  F(B,X)=X+1

那么F(C,N-1)=∑(F(A,K)*F(B,N-1-K))   {K=0....N-1}

=∑((K+1)*(N-1-K+1))     {K=0....N-1}

=∑((K+1)*(N-K))

=∑(K*N-K^2+N-K)

=(∑K*N)-∑(K^2)+∑(N-K)

=(N*N*(N-1)/2)-(N*(N-1)*(2N-1)/6)+(N(N+1)/2)

=(N(N^2+1)/2)-(N*(N-1)*(2N-1)/6)

=(N(N^2+3N+2)/6)

=N(N+1)(N+2)/6

然后逆元什么的搞搞就好了

解法二:

如果有公式恐惧症的话,下面提供Stilwell大神的一种较清晰的解法

x*(1+x+x^2+x^3+x^4+.....x^(无限))^4

可以发现其中(1+x+x^2+x^3+x^4+.....x^(无限))^4的x^n项的系数为:将n整数划分成4个自然数的方案数

然后用类似插板一样的东西就行了

BZOJ 3028食物相关推荐

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

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

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

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

  3. [BZOJ 3028]食物(生成函数)

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

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

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

  5. BZOj 3208 食物 生成函数+广义二项式定理

    曾经搞过几天的生成函数,也没做几道题,后来放弃了,今天讲了生成函数和背包问题的结合,趁着脑子清醒整理一下: 题目描述: 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!  我们暂且不讨论他 ...

  6. bzoj 3028 生成函数

    计算完后为 f(x): 根据我翻高数书,终于推倒出来了. (- ̄▽ ̄)- 转载于:https://www.cnblogs.com/TreeDream/p/7242684.html

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

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

  8. 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 ...

  9. ACM里的生成函数初探

    生成函数 前情提要:由于本人不太喜欢写博客(懒),所以写的时候一般是由于某些原因写的专题内容.这次是2020CCPC长春热身赛的D题没做出来. 大佬论文放前面:推荐阅读:毛杰明 母函数的性质及应用 基 ...

最新文章

  1. 在游戏中强制关机,不能对关机提示框进行操作
  2. r语言平均值显著性检验_8小时整理!t检验原理!R语言实现!一文彻底搞定t检验(上)...
  3. caffe matio问题
  4. python调用c#注意事项_Python调用C#编写的DLL
  5. MySQL之——GROUP BY分组取字段最大值
  6. MySQL单机版Recycle Bin回收站功能
  7. (转)Spring Boot(十七):使用 Spring Boot 上传文件
  8. django笔记补充
  9. Linux CAT与ECHO命令详解 <<EOF EOF
  10. 访问线上平台出现http状态码“502”和“504”
  11. 无线通信(1)-无线通信链路结构
  12. 网站建设中做到需求分析细致,网站优化也就顺理成章了
  13. c报错pointer being freed was not allocated
  14. Windows平台的网速监控悬浮窗软件
  15. 《Mysql必知必会》
  16. Facebook - 150亿张照片海量存贮架构
  17. php中文的正则表达式_php汉字正则表达式
  18. Codeforces Round #548 C. Edgy Trees
  19. nginx代理ws协议
  20. Vue-2-计算属性、侦听器、过滤器、样式绑定

热门文章

  1. Chrome翻译用不了了,怎么弄?解决
  2. Linux云计算各阶段练习题----持续更新中
  3. 韵达快递发货后中途被退回的单号物流信息怎么查询
  4. Qt Quick 布局介绍
  5. Androi调用相机和相册
  6. 浅析Linux防火墙
  7. 东航航空货运系统技术解析(一)新建项目与数据库
  8. 用XAML做网页!!—终结篇
  9. 【全套资料.zip下载】数电课设-电子秒表电路仿真设计【Multisim仿真+报告+讲解视频.zip下载】
  10. VT100控制码说明