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} 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 食物(生成函数)相关推荐
- BZOj 3208 食物 生成函数+广义二项式定理
曾经搞过几天的生成函数,也没做几道题,后来放弃了,今天讲了生成函数和背包问题的结合,趁着脑子清醒整理一下: 题目描述: 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他 ...
- BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]
3028: 食物 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 497 Solved: 331 [Submit][Status][Discuss] ...
- bzoj 3028 食物——生成函数
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 把式子写出来,化一化,变成 x / ((1-x)^4) ,变成几个 sigma 相乘的 ...
- [BZOJ 3028]食物(生成函数)
Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他 ...
- BZOJ3028食物——生成函数+泰勒展开
题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些 ...
- bzoj3028 食物 生成函数+广义二项式定理
首先我们有一些函数推收敛式的套路. (这些是知名伪证,结论是对的,但是证明过程是胡扯)比如对于y=1+x+x2y=1+x+x^2y=1+x+x2 ,我们知道xy=x+x2+x3xy=x+x^2+x^3 ...
- bzoj 3028: 食物(母函数+广义二项式定理)
3028: 食物 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 717 Solved: 502 [Submit][Status][Discuss] ...
- BZOJ 3208: 花神的秒题计划Ⅰ
3208: 花神的秒题计划Ⅰ Time Limit: 16 Sec Memory Limit: 128 MB Submit: 695 Solved: 474 [Submit][Status][Di ...
- 黑暗爆炸OJ 3028. 食物 生成函数
传送门 文章目录 题意: 思考 题意: 思考 考虑将每个条件转换成生成函数: (1)f1(x)=1+x2+...=11−x2(1)f_1(x)=1+x^2+...=\frac{1}{1-x^2}(1) ...
最新文章
- php留言板入门教程,一个php留言板实例详解(附源码下载)
- Angular 文件上传与下载
- java 延迟初始化_java-不正确的延迟初始化
- jetson nano 采坑记录
- apache apollo php,php windows環境 安裝 Apache-apollo + phpMQTT 實現發送 MQTT
- Boost:字符串正则表达式的测试程序
- 中国男性的私密数据分析……
- 刻不容缓!联合国加开会议讨论「如何限制杀人机器人」
- c语言单片机常用函数,C51单片机C语言函数编辑 -单片机-电子工程世界网
- 直观讲解Matlab的im2col函数
- 类和对象7:构造和析构方法
- 厉建宇的阿里巴巴离职信
- HashMap集合(高级)
- php 环比计算公式,详情
- 51nod 1526 分配笔名(字典树)
- ML:从工程化思维分析—机器学习团队十大角色的简介(背景/职责/产出物):产品经理、项目经理、业务咨询顾问、数据科学家、ML研究员、数据工程师、ML工程师、DevOps/软件开发/交付工程师
- 用matlab程序表示三角形序列,MATLAB程序举例带注释
- 手把手教你写一个串口调试助手
- 复合类型与with关键字
- 如何查询自家的网络有没有被DNS劫持?dns劫持是什么