[母函数 泰勒展开] BZOJ 3028 食物

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

这个神题

汉堡= x0+x2+x4+=11x2
蜜桃= x1+x3+x5+=x1x2
面包= x0+x3+x6+=11x3
鸡块= x0+x4+x8+=11x4
土豆= x0+x1=1x21x
可乐= x0+x1=1x21x
鸡腿= x0+x1+x2=1x31x
包子= x0+x1+x2+x3=1x41x

乘在一起就是 f(x)=x(1x)4
[xn] f(x) 就是答案
然后我们在 x=0 处泰勒展开
答案就是 fn(0)n!

这个n阶导数可以找规律得出

fn(x)=n(n+2)!3!(1x)(n+3)+(n+3)!3!x(1x)(n+4)

化简 fn(0)n! 得就是 n(n+1)(n+2)6=C3n+2

UPD
具体推导可以看这里
其中有一种简洁的方法

x(1x)4=x(1+x1+x2+x3+)4

[xn](1+x1+x2+x3+)4 就是把n分成4部分的方案数
那么答案就是n-1分成4部分的方案数 由插板法得
Ans=C2n1+3=C3n+2

#include<cstdio>
using namespace std;

const int P=10007;

int main(){
  char s[501]; int n=0;
  freopen("t.in","r",stdin);
  freopen("t.out","w",stdout);
  scanf("%s",s);
  for (int i=0;s[i];i++) n=((n<<1)+(n<<3)+s[i]-'0')%P;
  printf("%d\n",n*(n+1)%P*(n+2)%P*1668%P);
  return 0;
}
常见函数的泰勒展开 常见函数的泰勒展开。使用的时候可以选取前几个展开项并搭配拉格朗日余项进行使用 立即下载

相关推荐

bzoj3028食物 母函数+乘法逆元

AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3028 【题解】 这是一道很神的题,虽然代码很短。 首先由母函数易得: 汉堡蜜桃面包鸡块土豆可乐鸡腿包子=x0+x2+x4+⋯=11−x2=x1+x3+x5+⋯=x1−x2=x0+x3+x6+⋯=11−x3=x0+x4+x8+⋯=11−x4=x0+x1=1−x21−x=x0+x1=1

chty_syq的博客 1512

高斯核函数

线性支持向量机 (Linear-SVM) 被用于线性可分的数据集的二分类问题,当数据集不是线性可分的时候,需要利用到核函数将数据集映射到高维空间。这样数据在高维空间中就线性可分。高斯核函数(Gaussian kernel),也称径向基 (RBF) 函数,是常用的一种核函数。它可以将有限维数据映射到高维空间,我们来看一下高斯核函数的定义: k(x,x′)=e−||x−x′||22σ2k(x, x')

wuyanxue的专栏 12万+

bzoj3028: 食物(生成函数)

传送门 生成函数模板题。 我们直接把每种食物的生成函数列出来: 承德汉堡:1+x2+x4+...=11−x21+x^2+x^4+...=\frac 1{1-x^2}1+x2+x4+...=1−x21​ 可乐:1+x=1−x21−x1+x=\frac{1-x^2}{1-x}1+x=1−x1−x2​ 鸡腿:1+x+x2=1−x31−x1+x+x^2=\frac{1-x^3}{1-x}1+x+x2=1...

苟为蒟蒻又何妨 460

sift高斯差分函数泰勒展开的理解(矩阵求导)

令f'(x)=f'(x0)+1/2*f''(x0)*2*x=0 所以x=一f‘(x0)/f''(x0); 以上是一元的,当x是三元的,怎么理解1/2*X的转置*H(X)*X对X求导后=H(X)*X? 令△x=x-x0,△y=y-y0,△z=z-z0;H(X)=f''xx f''xy f''xz; X =x-x0;X的转置=(x-x0 y-y0 z-z0) ...

ganggangwawa的博客 4385

计算母函数的系数常用展开

计算母函数的系数常用展开

weixin_46191137的博客 636

BZOJ 3028食物

生成函数(手写过程)~

Regina8023 1441

bzoj 3028 母函数

  首先我们可以求出来所有食物母函数:   汉堡:f(x)=1/(1-x^2)。   可乐:f(x)=1+x.   鸡腿:f(x)=1+x+x^2.   蜜桃多:f(x)=x/(1-x^2).   鸡块:f(x)=1/(1-x^4).   包子:f(x)=1+x+x^2+x^3.   土豆片炒肉:f(x)=1+x.   面包:f(x)=1/(1-x^3).   然后我们可以将他...

weixin_34294649的博客 144

bzoj3028 食物

题目母函数,数学题,大概就是推公式吧。承德汉堡:1+x2+x4+⋯=11−x21+x^2+x^4+\dots=\frac{1}{1-x^2} 可乐:1+x1+x 鸡腿:1+x+x21+x+x^2 蜜桃多:x+x3+x5+⋯=x1−x2x+x^3+x^5+\dots=\frac{x}{1-x^2} 鸡块:1+x4+x8+⋯=11−x41+x^4+x^8+\dots=\frac{1}{1-x^4

浅笑~如夏 427

BZOJ3028: 食物

http://www.lydsy.com/JudgeOnline/problem.php?id=3028 题意: 每种食物的限制如下:汉堡:偶数个;可乐:0个或1个鸡腿:0个,1个或2个蜜桃:奇数个鸡块:4的倍数个包子:0个,1个,2个或3个土豆:不超过一个。面包:3的倍数个 问带$n$个物品的方案数(n&lt;=10^500) #include &lt;bits/stdc++.h&g...

weixin_34055787的博客 66

BZOJ 3028: 食物(生成函数+快速幂)

生成函数入门 普通的生成函数

Ab.Ever 678

【数理统计】矩母函数

矩生成函数,又叫矩母函数,顾名思义,就是产生矩的函数。

Code · Cloud · Think · Repeat 1万+

母函数(指数型)(泰勒展开式)

/*http://blog.sina.com.cn/s/blog_79b832820100x8pa.html HDU 2065 "红色病毒"问题 (泰勒级数推导) */ #include #include using namespace std; const int MOD=100; int Qpower(int a,long long b) { int ans=1,base=a;

没有main()的博客 5494

[BZOJ3028]食物(生成函数)

题目描述传送门题目大意:给出了8种食物和其个数的限制,问拿n个食物有多少种方案。题解组合问题,需要用到普通型生成函数 先将所有的食物和限制写成生成函数,并利用等比数列的求和公式,忽略母函数的收敛问题求出母函数的闭形式 (1+x2+x4+...)(1+x)(1+x+x2)(x+x3+x5+...)(1+x4+x8+...)(1+x+x2+x3)(1+x)(1+x3+x6+...)(1+x^2+x^

zyf2000 1836

BZOJ3028 食物

Problem BZOJ Solution 我们去构造各个物品的生成函数 f1(x)=11−x2f_1(x)=\frac {1} {1-x^2}f1​(x)=1−x21​ f2(x)=1+xf_2(x)=1+xf2​(x)=1+x f3(x)=1+x+x2f_3(x)=1+x+x^2f3​(x)=1+x+x2 f4(x)=x1−x2f_4(x)=\frac {x} {1-x^2}f4​(x)=1−...

Rayment的博客 538

BZOJ3028: 食物

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

wxh010910 850

母函数(Generating function)、矩母函数(Moment Generating Function)

1. 简介 在数学中,某个序列的母函数(Generating function,又称生成函数)是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。使用母函数解决问题的方法称为母函数方法。 母函数可分为很多种,包括普通母函数、指数母函数、L级数、贝尔级数和狄利克雷级数。对每个序列都可以写出以上每个类型的一个母函数。构造母函数的目的一般是为了解决某个特定的问题,因此选用何种母函数视乎序列本身的特性和问题的类型。 这里先给出两句话,不懂的可以等看完这篇文章再回过头来看: 1.“把组合问题的加法法则和幂级

Anne033的博客 1万+

BZOJ3028:食物(OGF)

传送门题意: 给一堆东西和选的限制,求把背包装满的方案数。。题解: 对于每种组合我们只关心每种食物的个数,故可以每一个组成对象构造一般性生成函数。显然答案为所有食物的笛卡尔积,那么按照OGFOGF定义直接函数相乘即可。当然BZOJ的题也不是那么Naive的,一波推导可得拼接之后的函数G(x)=x⋅(1−x)−4G(x)=x·(1-x)^{-4},下面讲讲这个函数xnx^n系数的两种求法: 暴

DZYO的博客 596

[BZOJ3028]食物(生成函数+讲解)

题目: 我是超链接 题解: 关于生成函数讲的最好的就是。。百度一下 生成函数,对于一个数列来讲就是一个函数,ta本身的x没有任何意义,而系数则是数列中的每一个数字,如果数列为h0,h1,h2..hn的话,生成函数g(x)就是 g(x)=∑infi=0hixig(x)=∑i=0infhixig(x)=\sum_{i=0}^{inf}h_ix^i 这道题目是当做例题的裸题 应对这种一...

薇小薇 758

BZOJ3028: 食物-生成函数&莱布尼茨公式

生成函数

远行客 360
上一篇: [Polya计数] SPOJ 422 TRANSP2 - Transposing is Even More Fun
下一篇: [Polya计数] BZOJ 3202 [Sdoi2013]项链
里阿奴摩西
博客等级 码龄12年 204粉丝 975原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值