题目传送门

Solution

应该这个做法不是很常见吧。

我们设 \(f_{i,j}\) 表示前面 \(i\) 个数,选出的数和为 \(j\) 的贡献之和。因为我们有以下式子:

\[\sum_{i=a}^{b} \binom{i}{a}=\binom{b+1}{a+1}
\]

所以,我们可以得到转移式:

\[f_{i,j}=\sum_{k} f_{i-1,k}\times \binom{j-k+1}{a_i+1}
\]

然后,我们假设设:

\[F_i(x)=\sum_{j=1}^{\infty} \binom{j}{a_i+1}x^{j-1}
\]

那么,我们就可以看出实际上 \(\prod_{i=1}^{n} F_i(x)\) 就是 \(f_{n,1},f_{n,2},...,f_{n,\infty}\) 的普通型生成函数。

于是,我们只需要求出 \(F_i(x)\) 的式子就好了。

我们可以得到如下推导:

设 \(S=\sum_{i=1}^{\infty} \binom{i}{a}x^{i}\)

则有:

\[S=x^a\sum_{i=0}^{\infty} \binom{i+a}{i}x^i
\]
\[\Rightarrow S=x^a\sum_{i=0}^{\infty} \binom{-a-1}{i}(-x)^i
\]
\[\Rightarrow S=x^a(1-x)^{-a-1}=x^a\frac{1}{(1-x)^{a+1}}
\]

所以,我们可以得到:

\[F_i(x)=x^{a_i}\frac{1}{(1-x)^{a_i+1}}
\]

那么,我们设 \(s=\sum_{i=1}^{n} a_i\),那么我们就可以得到:

\[\prod_{i=1}^{n} F_i(x)=x^{s}\frac{1}{(1-x)^{s+n}}
\]

那么这个多项式的第 \(i\) 项的系数就是 \(\binom{i+n-1}{n+s-1}\)。

那么,答案就是:

\[\sum_{i=0}^{m} \binom{i+n-1}{n+s-1}
\]
\[=\binom{n+m}{n+s}
\]

关于 Binomial Coefficient is Fun的更多相关文章

  1. Binomial Coefficient(二项式系数)

    In mathematics, any of the positive integers that occurs as a coefficient in the binomial theorem is ...

  2. Solution -「ARC 110D」Binomial Coefficient is Fun

    \(\mathcal{Description}\)   Link.   给定非负整数序列 \(\{a_n\}\),设 \(\{b_n\}\) 是一个非负整数序列且 \(\sum_{i=1}^nb_i\ ...

  3. UVA - 10375 Choose and divide[唯一分解定理]

    UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS   Memory Limit: 65536K Total Subm ...

  4. Lucas定理

    Lucas' theorem In number theory, Lucas's theorem expresses the remainder of division of the binomial ...

  5. Conjugate prior relationships

    Conjugate prior relationships The following diagram summarizes conjugate prior relationships for a n ...

  6. java积累

    数组的使用 package javaDemo; import java.util.*; /** * * @author Administrator * @version 1.0 * * */ publ ...

  7. OI不得不知的那些数学定理

    Binomial theorem One can define\[{r \choose k}=\frac{r\,(r-1) \cdots (r-k+1)}{k!} =\frac{(r)_k}{k!}\ ...

  8. UVA10375 Choose and divide 质因数分解

    质因数分解: Choose and divide Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %l ...

  9. Codeforces/TopCoder/ProjectEuler/CodeChef 散题笔记 (持续更新)

    最近做到了一些有趣的散题,于是开个Blog记录一下吧… (如果有人想做这些题的话还是不要看题解吧…) 2017-03-16 PE 202 Laserbeam 题意:有一个正三角形的镜子屋,光线从$C$ ...

随机推荐

  1. python 截屏操作

    方法1: 用pyscreenshot,https://pypi.org/project/pyscreenshot/ 方法2:用autopy,https://pypi.org/project/autop ...

  2. 手写个jsonp

    原生jsonp具体实现 先上代码: //http://www.baidu.com?aa=11&callback=my_jsonp04349289664328899 var jsonp = fu ...

  3. openresty lua-resty-string md5 sha aes random string

    安装 https://github.com/openresty/lua-resty-string $ sudo opm get openresty/lua-resty-string $ ls -al ...

  4. idea配置tomcat及中文乱码解决

    放在前面:不要使用tomcat10,访问自己的页面会报404错误,目前无解,在这个坑爬了一下午,最终换了tomcat 9才解决.所以我选择了tomcat 9 + idea 2021.2版本 配置步骤: ...

  5. Linux高级之语句表达式

    表达式 表达式和语句是 C 语言中的基础概念.什么是表达式呢?表达式就是由一系列操作符和操作数构成的式子.操作符可以是 C 语言标准规定的各种算术运算符.逻辑运算符.赋值运算符.比较运算符等.操作数可 ...

  6. Servlet体系结构

    一.使用HttpServlet 其中,HttpServlet在重写的service()方法中对http请求的共7中提交方式进行了判断,所以只要我们只要重写对应的请求方式处理逻辑方法 doGet()和d ...

  7. ysoserial CommonsColletions1分析

    JAVA安全审计 ysoserial CommonsColletions1分析 前言: 在ysoserial工具中,并没有使用TransformedMap的来触发ChainedTransformer链 ...

  8. 关于vue-cli的安装

    (一):*安装 vue-cli 参考: https://cn.vuejs.org/v2/guide/installation.html https://github.com/vuejs/vue-cli ...

  9. C++ 输入一行未知个数的整数

    C++ 输入一行未知个数的整数 代码: #include<iostream> #include<vector> using namespace std; int main() ...

  10. Shell系列(22)- 字符截取命令awk

    简介 awk是一个数据处理工具,相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分成数个"字段"来处理 awk的流程是依次读取每一行数据,读取完一行数据后,进行条件判断 ...