【题解】B. Balls 的生成函数解法
[题目链接](https://ac.nowcoder.com/acm/contest/560/B)
# 题目大意
定义一个序列的权值为所有元素的乘积
求所有长度为 k 的正整数序列中,满足所有元素的和小于等于 S,把它们的权值加起来输出
答案模素数 p,其中
# 题解
设
表示长度为 i,和为 j 的答案,则:

生成函数为:
%5Cright)%5En%20%3D%20x%5En(%20(-1)%20(1-x)%5E%7B-2%7D%20(-1)%20)%5En%3D%5Cfrac%7Bx%5En%7D%7B(1-x)%5E%7B2n%7D%7D)
由于要求前缀和,再卷上
,也就是:
%5E%7B2n%2B1%7D%7D)
因为:
%5Ek%7D%3D%7Bn%2Bk-1%20%5Cchoose%20k-1%7D)
所以:
%5E%7B2k%2B1%7D%7D%3D%20%7BS%20-%20k%20%2B%202k%20%5Cchoose%202k%2B1-1%7D%20%3D%20%7BS%2Bk%20%5Cchoose%202k%7D)
卢卡斯定理一下就好了
# 题目大意
定义一个序列的权值为所有元素的乘积
求所有长度为 k 的正整数序列中,满足所有元素的和小于等于 S,把它们的权值加起来输出
答案模素数 p,其中
# 题解
设
生成函数为:
由于要求前缀和,再卷上
因为:
所以:
卢卡斯定理一下就好了

汤臣倍健公司氛围 420人发布