BZOJ3028 食物 (生成函数)
首先 1+x+x^2+x^3+...+x^∞=1/(1-x)
对于题目中的几种食物写出生成函数 (对于a*x^b , a表示方案数 x表示食物,b表示该种食物的个数)
f(1)=1+x^2+x^4+...+x^∞=1/(1-x^2)
f(2)=1+x
f(3)=1+x+x^2
f(4)=x+x^3+x^5+...+x^∞=x/(1-x^2)
f(5)=1+x^4+x^8+...+x^∞=1/(1-x^4)
f(6)=1+x+x^2+x^3
f(7)=1+x
f(8)=1+x^3+x^6+...+x^∞=1/(1-x^3)
把这些母函数相乘得到最后各种食物个数的方案数。
g(x)=x(1+x)^2(1+x+x^2)(1+x+x^2+x^3)/(1-x^2)^2(1-x^3)(1-x^4)
因为 1+x+x^2=(1-x^3)/(1-x) , 1+x+x^2+x^3=(1-x^4)/(1-x)
可以得到g(x)=x/(1-x)^4
对于(1-x)^-k的展开式为sigma(C(-k,n)*(-x)^n)
C(-k,n) = (-k)*(-k-1)*...*(-k-n+1)/n! = (-1)^n*(n+k-1)*(n+k-2)*...*k/n!=(-1)^n*C(n+k-1,n)
那么 C(-k,n)*(-x)^n = C(n+k-1,n)*x^n
所以 g(x)的第n项系数为 x*C(n-1+4-1,n-1)*x^n-1 即 C(n+2,3)
对于所给的n取模,再求6关于10007的逆元即可
var s:ansistring;
n,i:longint;
function pow(x,y:longint):longint;
var sum:longint;
begin
sum:=;
while y> do
begin
if y mod = then sum:=sum*x mod ;
x:=x*x mod ;
y:=y div ;
end;
exit(sum);
end;
begin
readln(s);
n:=;
for i:= to length(s) do
n:=(n*+ord(s[i])-) mod ;
writeln(n*(n+)*(n+)*pow(,) mod );
end.
BZOJ3028 食物 (生成函数)的更多相关文章
- BZOJ3028食物——生成函数+泰勒展开
题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些 ...
- BZOJ3028: 食物(生成函数)
题意 链接 Sol 生成函数入门题. 对每个物品分别列一下,化到最后是\(\frac{x}{(1-x)^4}\) 根据广义二项式定理,最后答案是\(C_{(N - 1) + 4 - 1}^{4-1} ...
- BZOJ3028 食物(生成函数)
显然构造出生成函数:则有f(x)=(1+x2+x4+……)·(1+x)·(1+x+x2)·(x+x3+x5+……)·(1+x4+x8+……)·(1+x+x2+x3)·(1+x)·(1+x3+x6+…… ...
- 2018.12.30 bzoj3028: 食物(生成函数)
传送门 生成函数模板题. 我们直接把每种食物的生成函数列出来: 承德汉堡:1+x2+x4+...=11−x21+x^2+x^4+...=\frac 1{1-x^2}1+x2+x4+...=1−x21 ...
- 【bzoj3028】 食物 生成函数+隔板法
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 这题的推导很妙啊,裸的推母函数的题. 我们首先构造出每种食物的母函数: 汉堡:$ ...
- bzoj3028食物
http://www.lydsy.com/JudgeOnline/problem.php?id=3028 好吧,这是我第一道生成函数的题目. 先搞出各种食物的生成函数: 汉堡:$1+x^2+x^4+. ...
- BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]
3028: 食物 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 497 Solved: 331[Submit][Status][Discuss] De ...
- BZOJ 3028 食物 (生成函数+数学题)
题面:BZOJ传送门 题目让我们求这些物品在合法范围内任意组合,一共组合出$n$个物品的方案数 考虑把每种食物都用生成函数表示出来,然后用多项式乘法把它们乘起来,第$n$项的系数就是方案数 汉堡:$1 ...
- BZOJ3028 食物 和 LOJ6261 一个人的高三楼
总结一下广义二项式定理. 食物 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数 ...
随机推荐
- 如何在Objective-C中实现链式语法
在接触到开源项目 Masonry 后,里面的布局约束的链式写法让我颇感兴趣,就像下面这样: 1 2 3 4 5 6 7 8 UIEdgeInsets padding = UIEdgeInsetsMak ...
- 从 bcp 客户端收到一个对 colid x 无效的列长度。
出现场景: 批量插入数据的时候出现这个问题. 原因分析:某个数据的长度应该是大于这个数据对应的列的定义长度. 所以一一检查到底是那个列的长度超出了. 第一种方法: ——————————2017-1-3 ...
- 【堆栈应用一】一个数divided=几个最小质因数的乘积
/******************************************堆栈:一个数divided几个质因数(质因数的乘积为N)***************************** ...
- 转:Vmware Exsi使用简要说明
界面介绍 Exsi的管理工具可以用vSphere Client来管理虚拟机.管理虚拟的网络交换机.管理物理机的内存.物理机的硬盘.物理机的CPU等资源.界面的大致介绍如下图. 资源分配 创建内存.CP ...
- 《Play for Java》学习笔记(三)template+Message
说明: 这是本书的第八章内容,由于项目需要,提到前面来看啦~~~O(∩_∩)O 一.模板template的定义 Play中的模板是html代码和Scala代码的混合而成的,其中Scala代码以@开头, ...
- js——常见的小方法
1.随机得到是六位数,可以当做“密码”来使用: Math.random().toString().substr(2, 6):
- Android Bundle、Handler和Message类介绍
Bundle是一个载体,可以存放基本数据类型.对象等内容,相当于一辆汽车,可以装载很多东西,然后运到需要的地方,例如: Bundle mBundle=new Bundle(); mBundle.put ...
- GBK编码相关
如上图.的GBK编码是A3AE, 那么·对应的无符号整数值应该是A*16**3+E*16**2+A+3, 无符号整数值所在地址的第一个自己是A3,第二个字节是AE
- Tomcat配置虚拟主机的两种方式
1.基于主机名的虚拟主机配置 在随意盘符下建立一个目录作为虚拟地址的目录.例如:F:\virtualhost1,在其下建立 test1.html,写入内容例如:test 在tomcat/conf/se ...
- CentOS hadoop启动错误 JAVA_HOME is not set and could not be found
... Starting namenodes on [] localhost: Error: JAVA_HOME is not set and could not be found. localhos ...