Luogu2791 幼儿园篮球题【斯特林数,数学】
题目链接:洛谷
我一开始不知道$N,M$有什么用处,懵逼了一会儿,结果才发现是输入数据范围。。。
$$\begin{aligned}\binom{n}{k}Ans&=\sum_{i=0}^k\binom{m}{i}\binom{n-m}{k-i}i^L \\&=\sum_{i=0}^k\binom{m}{i}\binom{n-m}{k-i}\sum_{j=0}^Lj!\binom{i}{j}\begin{Bmatrix}L \\ j\end{Bmatrix} \\&=\sum_{j=0}^Lj!\begin{Bmatrix}L \\ j\end{Bmatrix}\sum_{i=0}^k\binom{m}{i}\binom{n-m}{k-i}\binom{i}{j} \\&=\sum_{j=0}^Lj!\begin{Bmatrix}L \\ j\end{Bmatrix}\sum_{i=0}^k\binom{m}{j}\binom{m-j}{i-j}\binom{n-m}{k-i} \\&=\sum_{j=0}^L\frac{m!}{(m-j)!}\begin{Bmatrix}L \\j\end{Bmatrix}\sum_{i=0}^k\binom{m-j}{i-j}\binom{n-m}{k-i} \\&=\sum_{j=0}^L\frac{m!(n-j)!}{(k-j)!(n-k)!(m-j)!}\begin{Bmatrix}L \\j\end{Bmatrix}\end{aligned}$$
所以答案
$$Ans=\frac{m!k!}{n!}\sum_{i=0}^{\min(L,m,k)}\frac{(n-i)!}{(m-i)!(k-i)!}\begin{Bmatrix}L \\ i\end{Bmatrix}$$
上面第五行到第六行使用了范德蒙德卷积
$$\sum_{i=0}^k\binom{n}{i}\binom{m}{k-i}=\binom{n+m}{k}$$
组合意义:在$n+m$个元素中取$k$个,前$n$个元素中选了$i$个。
而且要注意$i$的范围,不然就会挂成15分
时间复杂度$O(L(\log L+S))$。
Luogu2791 幼儿园篮球题【斯特林数,数学】的更多相关文章
- 【洛谷2791】幼儿园篮球题(第二类斯特林数,NTT)
[洛谷2791]幼儿园篮球题(第二类斯特林数,NTT) 题面 洛谷 题解 对于每一组询问,要求的东西本质上就是: \[\sum_{i=0}^{k}{m\choose i}{n-m\choose k-i ...
- 【题解】幼儿园篮球题(范德蒙德卷积+斯特林+NTT)
[题解]幼儿园篮球题(NTT+范德蒙德卷积+斯特林数) 题目就是要我们求一个式子(听说叫做超几何分布?好牛逼的名字啊) \[ \sum_{i=1}^{S}\dfrac 1 {N \choose n_i ...
- 洛谷 P2791 幼儿园篮球题
洛谷 P2791 幼儿园篮球题 https://www.luogu.org/problemnew/show/P2791 我喜欢唱♂跳♂rap♂篮球 要求的是:\(\sum_{i=0}^kC_m^iC_ ...
- 【洛谷2791】 幼儿园篮球题 第二类斯特林数+NTT
求 \(\sum_{i=0}^{k}\binom{m}{i}\binom{n-m}{k-i}i^L\) \((1\leqslant n,m\leqslant 2\times 10^7,1\leqsla ...
- [LGP2791] 幼儿园篮球题
你猜猜题怎么出出来的? 显然第\(i\)场的答案为 \[ \frac{1}{\binom{n_i}{m_i}\binom{n_i}{k_i}}\sum_{x=0}^{k_i}\binom{n_i}{m ...
- 洛谷 P2791 - 幼儿园篮球题(第二类斯特林数)
题面传送门 首先写出式子: \[ans=\sum\limits_{i=0}^m\dbinom{m}{i}\dbinom{n-m}{k-i}·i^L \] 看到后面有个幂,我们看它不爽,因此考虑将其拆开 ...
- luogu P2791 幼儿园篮球题
传送门 先看我们要求的是什么,要求的期望就是总权值/总方案,总权值可以枚举进球的个数\(i\),然后就应该是\(\sum_{i=0}^{k} \binom{m}{i}\binom{n-m}{k-i}i ...
- [BJOI2019]勘破神机(斯特林数+二项式定理+数学)
题意:f[i],g[i]分别表示用1*2的骨牌铺2*n和3*n网格的方案数,求ΣC(f(i),k)和ΣC(g(i),k),对998244353取模,其中l<=i<=r,1<=l< ...
- 具体数学斯特林数-----致敬Kunth
注意这里讲的是斯特林数而非斯特林公式. 斯特林数分两类:第一类斯特林数 和 第二类斯特林数. 分别记为. 首先描述第二类斯特林数. 描述为:将一个有n件物品的集合划分成k个非空子集的方法数. 比如集合 ...
随机推荐
- Angular 学习笔记 (Angular 9 & ivy)
refer : https://blog.angularindepth.com/all-you-need-to-know-about-ivy-the-new-angular-engine-9cde47 ...
- gulp删除目标文件中所有的console.log()语句——gulp-strip-debug
1.安装npm包 npm install --save-dev gulp-strip-debug 2.使用 const gulp = require('gulp'); const stripDebug ...
- mvc伪静态
方法一:IIS配置伪静态 方法二:项目配置伪静态 网站配置文件Web.config <system.webServer> <handlers> <add name=&qu ...
- 翻译-在10行代码之内创建容器化的.net core应用
本文翻译自Hans Kilian的文章 Creating a containerized .NET core application in less than 10 lines of code htt ...
- WebApi 身份认 Basic基础认证
<body> <div style="text-align:center;"> <div>用户名:<input type="te ...
- 转 实现类似QQ的窗体停靠
[DllImport("User32.dll")] public static extern bool PtInRect(ref Rectangle Rects, Point lp ...
- JS的DOM和BOM
* JavaScript分三个部分: ECMAScript标准:JS的基本的语法 DOM:Document Object Model --->文档对象模型----操作页面的元素 BOM:Brow ...
- iOS - OC 使用运行时来获取并修改类
前言: Objective C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表.属性列表.变量列表,修改方法.属性,增加方法,属性等等,本文对相 ...
- map函数的应用
map函数在Python中的应用 函数介绍: map() 会根据提供的函数对指定序列做映射. map(function, iterable, ...) 第一个参数function 以参数序列中的每一个 ...
- javascript原型原型链 学习随笔
理解原型和原型链.需从构造函数.__proto__属性(IE11以下这个属性是undefined,请使用chrome调试).prototype属性入手. JS内置的好多函数,这些函数又被叫做构造函数. ...