luoguP6620 [省选联考 2020 A 卷] 组合数问题(斯特林数)

Posted rikurika

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luoguP6620 [省选联考 2020 A 卷] 组合数问题(斯特林数)相关的知识,希望对你有一定的参考价值。

luoguP6620 [省选联考 2020 A 卷] 组合数问题(斯特林数)

Luogu

题外话:

LN切这题的人比切T1的多。

我都想到了组合意义乱搞也想到可能用斯特林数为啥还是没做出来。。。

我怕不是除了数据结构啥也不会。

我是傻逼。

题解时间

不弄纯柿子推导,来点阳间的组合意义证明。

首先毫无疑问拆成: $$ sum_{i=0}^{m} a_{i} sum_{k=0}^{n} k^{i} cdot x^{k} cdot inom{n}{k} $$

然后考虑如何求 $$ sum_{k=0}^{n} k^{i} cdot x^{k} cdot inom{n}{k} $$

从组合意义考虑: $ n $ 个不同盒子 $ i $ 个不同的球,盒子可以染 $ n $ 种颜色之一或者不染色,之后将所有球装进染色的盒子里。

转换成:选择在 $ j $ 个盒子里放所有的球,之后这 $ j $ 个盒子必须染色,其余可染可不染,而放球的方案数是 $ egin{Bmatrix}i ewline jend{Bmatrix} j! $

就变成了 $$ sum_{j=0}^{i} inom{n}{j} x^{j} (x+1)^{n-j} egin{Bmatrix}i ewline jend{Bmatrix} j! $$

#include<bits/stdc++.h>
using namespace std;
typedef long long lint;
// #define int long long
struct pat{int x,y;pat(int x=0,int y=0):x(x),y(y){}bool operator<(const pat &p)const{return x==p.x?y<p.y:x<p.x;}};
template<typename TP>inline void read(TP &tar)
{
	TP ret=0,f=1;char ch=getchar();
	while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}
	while(ch>=‘0‘&&ch<=‘9‘){ret=ret*10+(ch-‘0‘);ch=getchar();}
	tar=ret*f;
}
template<typename TP,typename... Args>inline void read(TP& t,Args&... args){read(t),read(args...);}
namespace RKK
{
const int N=1011;
int n,m,x,mo,a[N],s[N][N];
int fpow(int a,int p){int ret=1;while(p){if(p&1)ret=(lint)ret*a%mo;a=(lint)a*a%mo,p>>=1;}return ret;}

signed main()
{
	read(n,x,mo,m);for(int i=0;i<=m;i++) read(a[i]);
	s[0][0]=1;for(int i=1;i<=1000;i++)for(int j=1;j<=i;j++) s[i][j]=(s[i-1][j-1]+1ll*s[i-1][j]*j)%mo;
	int ans=0;
	for(int i=0;i<=m;i++)
	{
		int fc=1,tmp=0;
		for(int j=0;j<=i;j++)
			tmp=(tmp+1ll*fc*s[i][j]%mo*fpow(x,j)%mo*fpow(x+1,n-j))%mo,fc=1ll*fc*(n-j)%mo;
		ans=(ans+1ll*a[i]*tmp)%mo;
	}printf("%d
",ans);
	return 0;
}
}
signed main(){return RKK::main();}

以上是关于luoguP6620 [省选联考 2020 A 卷] 组合数问题(斯特林数)的主要内容,如果未能解决你的问题,请参考以下文章

P6627 [省选联考 2020 B 卷] 幸运数字

题解 省选联考2020 B卷 幸运数字

[省选联考 2020 A 卷] 组合数问题 题解

P6625 [省选联考 2020 B 卷] 卡牌游戏

场外模拟 省选联考(A卷重考) 2020 游记

洛谷 P7515 [省选联考 2021 A 卷] 矩阵游戏(构造,差分约束)