题目传送门

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. react项目实现多语言切换

    网站的语言切换功能大家都见过不少,一般都是一个下拉框选择语言,如果让我们想一下怎么实现这个功能,我相信大家都是有哥大概思路,一个语言切换的select,将当前的选择的语言存在全局,根据这个语言的key ...

  2. 深入研究webpack之Tree Shaking相关属性sideEffects用处

    Tree Shaking我原来也只是了解,这次碰巧深入研究了下,就写个博客记录一下,网上有很多讲Tree Shaking的,我写的这篇跟他们侧重点不一样 Tree Shaking相关的基础知识 1 w ...

  3. Linux与Windows文件同步

    Linux与Windows文件同步 本次采用的同步方式是rsync,Rsync是一款免费且强大的同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限.时间.软硬链接.第一次同步时会复制全 ...

  4. [源码解析] 深度学习流水线并行 PipeDream(3)--- 转换模型

    [源码解析] 深度学习流水线并行 PipeDream(3)--- 转换模型 目录 [源码解析] 深度学习流水线并行 PipeDream(3)--- 转换模型 0x00 摘要 0x01 前言 1.1 改 ...

  5. openswan一条隧道多保护子网配置

    Author       : Email         : vip_13031075266@163.com Date          : 2021.01.22 Copyright : 未经同意不得 ...

  6. 文件包含上传漏洞&目录遍历命令执行漏洞

    文件上传漏洞: 一句话木马 一句话木马主要由两部分组成:执行函数与 接收被执行代码的变量 执行函数: eval() assert() create_function() array_map() arr ...

  7. ARM架构安装ubuntu系统

    一.简介 arm开发板制作系统是比较麻烦,不论使用busybox还是yocto制作根文件系统对新手都比太友好,除非深度定制,否则使用ubuntu系统既可以满足,把更多的精力放在应用开发上. 二.准备材 ...

  8. 浅谈一种浮标浮岛式水质监测“智能哨兵”助力水质监测,多环境应用ke轻松测水!

    浮岛式水质监测站能够在实际使用中,安装方便,能够采集多种参数,溶解氧  氨氮  电导率  盐分 pH值  COD  水位  节省时间和人工,浮标水质监测站是设立在河流.湖泊.水库.近岸海域等流 域内的 ...

  9. 数据结构逆向分析-List

    数据结构逆向分析-List 首先STL中的List就是一个链表,但是肯定C++用了很多封装,所以这里我们来一探究竟. 开始 首先先写一些简单的分析的源代码: #include<iostream& ...

  10. Java基础系列(4)- 编译型和解释型

    概念 有一个外国人要看一本中文的书,有两种方式可以看,一种是把这本书翻译成英文版,另外一种是请一个中文翻译,想看哪边,翻译就翻译哪边. 针对上述的描述,翻译成英文版本的书籍对应的就是编译型,将代码编译 ...