先推一下生成函数
承德汉堡:偶数个
1 + x 2 + x 4 + x 6 + . . . . . . = 1 1 − x 2 1+x^2+x^4+x^6+...... =\frac{1}{1-x^2} 1+x2+x4+x6+......=1−x21​
可乐:0个或1个
1 + x = 1 − x 2 1 − x 1+x=\frac{1-x^2}{1-x} 1+x=1−x1−x2​
鸡腿:0个或1个或2个
1 + x + x 2 = 1 − x 3 1 − x 1+x+x^2=\frac{1-x^3}{1-x} 1+x+x2=1−x1−x3​
蜜桃多:奇数个
x + x 3 + x 5 + . . . . . . = x 1 − x 2 x+x^3+x^5+......=\frac{x}{1-x^2} x+x3+x5+......=1−x2x​
鸡块:四的倍数个
1 + x 4 + x 8 + x 12 + . . . . . . = 1 1 − x 4 1+x^4+x^8+x^{12}+......=\frac{1}{1-x^4} 1+x4+x8+x12+......=1−x41​
包子:0个或1个或2个或3个
1 + x + x 2 + x 3 = 1 − x 4 1 − x 1+x+x^2+x^3=\frac{1-x^4}{1-x} 1+x+x2+x3=1−x1−x4​
土豆片炒肉:不超过一个
1 + x = 1 − x 2 1 − x 1+x=\frac{1-x^2}{1-x} 1+x=1−x1−x2​
面包:三的倍数个
1 + x 3 + x 6 + x 9 + . . . . . . = 1 1 − x 3 1+x^3+x^6+x^9+......=\frac{1}{1-x^3} 1+x3+x6+x9+......=1−x31​
总生成函数:
1 1 − x 2 × 1 − x 2 1 − x × 1 − x 3 1 − x × x 1 − x 2 × 1 1 − x 4 × 1 − x 4 1 − x × 1 − x 2 1 − x × 1 1 − x 3 = x ( 1 − x ) 4 \frac{1}{1-x^2}\times\frac{1-x^2}{1-x}\times\frac{1-x^3}{1-x}\times\frac{x}{1-x^2}\times\frac{1}{1-x^4}\times\frac{1-x^4}{1-x}\times\frac{1-x^2}{1-x}\times\frac{1}{1-x^3}=\frac{x}{{(1-x)}^4} 1−x21​×1−x1−x2​×1−x1−x3​×1−x2x​×1−x41​×1−x1−x4​×1−x1−x2​×1−x31​=(1−x)4x​
跟据广义二项式定理答案即为 x n − 1 x^{n-1} xn−1的系数
a n s = C n − 1 + 4 4 − 1 = n ∗ ( n + 1 ) ∗ ( n + 2 ) 6 ans=C_{n-1+4}^{4-1}=\frac{n*(n+1)*(n+2)}{6} ans=Cn−1+44−1​=6n∗(n+1)∗(n+2)​

所以可以边读边膜,代码如下:

#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#define mod 10007
using namespace std;string tmp;
long long n;long long inv(long long a)
{int b=mod-2,ans=1;while(b){if(b&1) ans=ans*a%mod;a=a*a%mod;b>>=1;}return ans;
}int main()
{cin>>tmp;for(int i=0;i<tmp.length();i++){n=(n*10+tmp[i]-'0')%mod;}printf("%lld\n",((n*(n+1)%mod)*(n+2)%mod)*inv(6)%mod);
}

bzoj 3208 食物(生成函数)相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. BZOJ 3208: 花神的秒题计划Ⅰ

    3208: 花神的秒题计划Ⅰ Time Limit: 16 Sec  Memory Limit: 128 MB Submit: 695  Solved: 474 [Submit][Status][Di ...

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

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

最新文章

  1. php留言板入门教程,一个php留言板实例详解(附源码下载)
  2. Angular 文件上传与下载
  3. java 延迟初始化_java-不正确的延迟初始化
  4. jetson nano 采坑记录
  5. apache apollo php,php windows環境 安裝 Apache-apollo + phpMQTT 實現發送 MQTT
  6. Boost:字符串正则表达式的测试程序
  7. 中国男性的私密数据分析……
  8. 刻不容缓!联合国加开会议讨论「如何限制杀人机器人」
  9. c语言单片机常用函数,C51单片机C语言函数编辑 -单片机-电子工程世界网
  10. 直观讲解Matlab的im2col函数
  11. 类和对象7:构造和析构方法
  12. 厉建宇的阿里巴巴离职信
  13. HashMap集合(高级)
  14. php 环比计算公式,详情
  15. 51nod 1526 分配笔名(字典树)
  16. ML:从工程化思维分析—机器学习团队十大角色的简介(背景/职责/产出物):产品经理、项目经理、业务咨询顾问、数据科学家、ML研究员、数据工程师、ML工程师、DevOps/软件开发/交付工程师
  17. 用matlab程序表示三角形序列,MATLAB程序举例带注释
  18. 手把手教你写一个串口调试助手
  19. 复合类型与with关键字
  20. 如何查询自家的网络有没有被DNS劫持?dns劫持是什么

热门文章

  1. 当联系客户时如何巧妙利用关系营销
  2. 命令行使用MacVim
  3. 雷军:你尽管天天骂我,但在你最需要的时候还是我拿出了830万!
  4. Elasticsearch实战之(商品搜索API实现)
  5. 光声世纪笔试题目ASP.NET
  6. Lodop web打印
  7. 2022年注册安全工程师安全生产专业实务(金属非金属矿山安全)考试模拟试题卷及答案
  8. 腾讯携手教育部教指委、中国信通院发布犀牛鸟开源人才培养计划
  9. PHP递归经典算法实例
  10. 推荐系统 之 Transformer