博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 3028 食物
阅读量:5227 次
发布时间:2019-06-14

本文共 2075 字,大约阅读时间需要 6 分钟。

题目大意:

要带k种东西分别满足如下条件
物品1:偶数个
物品2:0个或1个
物品3:0个,1个或2个
物品4:奇数个
物品5:4的倍数个
物品6:0个,1个,2个或3个
物品7:不超过一个
物品8:3的倍数个

思路:

把这些物品都写成生成函数形式 得 $$(1+x^2+x^4+...) \times (1+x) \times (1+x+x^2) \times (x+x^3+x^5+...) \times (1+x^4+x^8+...) \times (1+x+x^2+x^3) \times (1+x) \times (1+x^3+x^6+...)$$

进而得 $$( \frac{1}{1-x^2}) \times (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 (1+x) \times (\frac{1}{1-x^3})$$

化简得$\frac{x}{(1-x)^4}$,我们需要求$x^n$这一项的系数,接下来两种操作

法1:将式子展开得到$x \times (1+x+x^2+...)^4$ 

则相当于求将$n-1$划分成四个自然数的方案数 考虑在$n$个空里插三个板 答案为$C_{n+2}^3$

法2:考虑泰勒展开则$x \times (1-x)^{-4}=\sum_{i=0}^n f^i(0) \times \frac {x^i}{i!}$

$n-1$次的系数为 $\frac{f^(n-1)(0)}{(n-1)!}$

$f'=(-4)*(u)^{-5}*(1-x)'=4*(1-x)^{-5}$求导以此类推

即原式为$$\frac {\prod_{i=1}^{n-1} {i+3}} {(n-1)!}=n*(n+1)*(n+2)/6=C_{n+2}^3$$

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #define ll long long12 #define inf 213906214313 #define MAXN 10010014 #define MOD 1000715 #define rep(i,s,t) for(register int i=(s),i##__end=(t);i<=i##__end;++i)16 #define dwn(i,s,t) for(register int i=(s),i##__end=(t);i>=i##__end;--i)17 #define ren(x) for(register int i=fst[x];i;i=nxt[i])18 #define pb(i,x) vec[i].push_back(x)19 #define pls(a,b) (a+b)%MOD20 #define mns(a,b) (a-b+MOD)%MOD21 #define mlp(a,b) (1LL*(a)*(b))%MOD22 using namespace std;23 inline int read()24 {25 int x=0,f=1;char ch=getchar();26 while(!isdigit(ch)) { if(ch=='-') f=-1;ch=getchar();}27 while(isdigit(ch)) {x=x*10+ch-'0';ch=getchar();}28 return x*f;29 }30 int n;char ch;31 int q_pow(int bas,int t,int res=1)32 {33 for(;t;bas=mlp(bas,bas),t>>=1)34 if(t&1) res=mlp(res,bas);return res;35 }36 int main()37 {38 ch=getchar();39 while(isdigit(ch)) {n=(n*10+ch-'0')%MOD;ch=getchar();}40 printf("%d\n",mlp(mlp(mlp(n,n+1),n+2),q_pow(6,MOD-2)));41 }
View Code

 

转载于:https://www.cnblogs.com/yyc-jack-0920/p/10438977.html

你可能感兴趣的文章
Python 面向对象(其四)
查看>>
客户端访问浏览器的流程
查看>>
Linux——ls
查看>>
操作系统(八) 死锁
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
Vue
查看>>
表变量与临时表的优缺点(转)
查看>>
shell脚本图书
查看>>
UNIX环境高级编程——线程限制
查看>>
UNIX网络编程——原始套接字SOCK_RAW
查看>>
TCP发送源码学习(1)--tcp_sendmsg
查看>>
使用两个不同类型的数据进行加法计算时,使用异常处理语句捕获由于数据类型错误而出现的异常,发生生成错误。是否继续并运行上次的成功生成?...
查看>>
python-三级菜单和购物车程序
查看>>
web开发灵感推荐--34个有吸引力的电影网站设计灵感
查看>>
sql操作
查看>>
条件断点 符号断点
查看>>
第二十三模板 18.3.5 位集合
查看>>