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件物品的方案数 ...
随机推荐
- 集成 AliPay - 支付宝
作者感言 前面我已经写了一篇关于WeChat SDK的支付篇, 那我们继续研究接下来的支付SDK, 这次就是国民支付软件支付宝, 下面就让我们来看看怎么集成AliPay SDK.最后:如果你有更好的建 ...
- iOS开发UIScrollView的底层实现
起始 做开发也有一段时间了,经历了第一次完成项目的激动,也经历了天天调用系统的API的枯燥,于是就有了探索底层实现的想法. 关于scrollView的思考 在iOS开发中我们会大量用到scrollVi ...
- RAID5和RAID10,哪种RAID更适合你(上)
[IT168 专稿]存储是目前IT产业发展的一大热点,而RAID技术是构造高性能.海量存储的基础技术,也是构建网络存储的基础技术.专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度 ...
- Collaborative Filtering
for i=1:6040 Ai=ratings(ratings(:,1)==i,:); for j=1:5 Labnum(i,j)=length(Ai(Ai(:,3)==j)); end num(i) ...
- JDE开发端安装问题(JDE初步卸载重装)
JDE版本:9.1.4 所遇场景:安装JDE客户端.WEBServer后,卸载重新安装.在安装client后提示找不到DV\PY包. 日志installActionsXXX.log中显示 信息: 10 ...
- eclipse常用的字体
1.consolas 2.Segoe Script 3.Segoe Print 4.Courier New
- [js]变量声明、函数声明、函数定义式、形参之间的执行顺序
一.当函数声明和函数定义式(变量赋值)同名时 function ledi(){ alert('ledi1'); }; ledi(); var ledi = function (){ alert('le ...
- 再谈IT行业工程师文化
为什么是再呢?因为“工程师文化”这种说法网上很多,各种理解,各种版 本,我只是简单说说我的认识,说的不对的地方敬请各位大牛,高手,高高手多多指教,我本身也是个技术人员,不过只是技术不怎么样而已.写这个 ...
- hdu 4632 Palindrome subsequence
http://acm.hdu.edu.cn/showproblem.php?pid=4632 简单DP 代码: #include<iostream> #include<cstdio& ...
- node.js安装及grunt插件,如何进行脚本压缩
http://gruntjs.com/pluginshttp://gruntjs.com/getting-startedhttp://gruntjs.com/configuring-tasks#glo ...