首页 > 其他分享 >[省选联考 2020 A 卷] 组合数问题

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

时间:2023-05-12 22:45:45浏览次数:46  
标签:省选 sum underline int MAXN vv 2020 brace 联考

组合数问题

首先明确下降幂即

\[k^{\underline m}=\sum_{i=k-m+1}^ki \]

不难发现有

\[\binom{n}{k}k^{\underline m}=\binom{n-m}{k-m}n^{\underline m} \]

我们尝试把普通幂多项式转为下降幂多项式

\[\sum_{i=0}^ma_i k^i=\sum_{i=0}^m b_i k^{\underline i} \]

由第二类斯特林数的性质我们有
\(k^n=\sum_{i=0}^n\) $n \brace i $ \(k^{\underline i}\)
那么

\(\sum_{i=0}^ma_i k^i\)=\(\sum_{i=0}^ma_i\sum_{j=0}^i\) \(i \brace j\) \(k^{\underline j}\)
=\(\sum_{j=0}^mk^{\underline j}\) \(\sum_{i=j}^m\) \(i \brace j\) \(a_i\)
那么我们就可以 \(\Omicron(m^2)\) 求出 b
对于整个式子在用上面提到的结论代换即可(xiebuwanle

#include<cstdio>
#include<iostream>
using namespace std;
const int MAXN=1005;
#define ll long long
ll n,x,Mod,m,a[MAXN],b[MAXN],dp[MAXN][MAXN],tmp,va[MAXN],op,res,vv[MAXN];
void init(){
	dp[0][0]=1;
	for(int i=1;i<=m;i++){
		for(int j=1;j<=i;j++){
			dp[i][j]=(dp[i-1][j-1]+1LL*j*dp[i-1][j])%Mod;
		}
	}
}
ll ksm(ll a,ll b){
	ll res=1;
	while(b){
		if(b&1) res=res*a%Mod;a=a*a%Mod;b>>=1;
	}return res;
}
int main(){
	scanf("%lld%lld%lld%lld",&n,&x,&Mod,&m);op=1;init();vv[0]=1;
	for(int i=0;i<=m;i++){
		scanf("%lld",&a[i]);
		if(i>0) vv[i]=vv[i-1]*x%Mod;
	}
	for(int i=0;i<=m;i++){
		for(int j=i;j<=m;j++){
			b[i]=(b[i]+dp[j][i]*a[j]%Mod)%Mod;
		}
	}
	for(int i=0;i<=m;i++){
		res=(res+(op*b[i]%Mod*vv[i]%Mod*ksm(x+1,n-i)%Mod))%Mod;op=op*(n-i)%Mod;
	}
	printf("%lld",res);
}/*
g++ 111.cpp -o 111
./111
*/

标签:省选,sum,underline,int,MAXN,vv,2020,brace,联考
From: https://www.cnblogs.com/StranGePants/p/17396464.html

相关文章

  • 2020年年终总结
    目录序言疫情到来学习娱乐个人公众号创建个人博客正式上线关于理财健康问题常回家看看2021年flag序言转眼间,2020年就这么过去了。2020对于每个人来说应该都是不平凡的一年,毕竟这一年太特殊了,一场席卷全世界的疫情来了。回想这一年,疫情改变了我们工作方式、生活方式。也让我们......
  • 6部10层电梯程序,采用以太网通信。 2020年西门子智
    6部10层电梯程序,采用以太网通信。2020年西门子智能制造挑战赛,6部10层电梯程序,包含各个功能模块。采用博途软件V14sp1编程,采用以太网通信,控制器选用PLCS7-1200。主要涉及逻辑控制、梯形图语言、置位复位。ID:4419662840760979......
  • 2020-05-19:催收核心业务是什么?
    如果不着急用钱,贷款最好别碰。当你没欠款的时候,诱导你欠款。当你欠款还不上的时候,会经常被骚扰,叫你还上。给我的感觉就是叫良家妇女入风尘,叫风尘女子从良。短信催收:快到期的时候,短信提示。电话催收:已经过期了,第一次电话,看是不是搞忘了。第N次电话,看怎么诱导优先还款。注意:欠钱的......
  • 2020-11-09:谈谈布隆过滤器和布谷鸟过滤器的相同点和不同点?
    福哥答案2020-11-09:相同点:都是过滤器。不同点:算法:布隆过滤器多个hash函数。布谷鸟过滤器用布谷鸟哈希算法。能否删除:布隆过滤器无法删除元素。布谷鸟过滤器可以删除元素,有误删可能。空间是否2的指数:布隆过滤器不需要2的指数。布谷鸟过滤器必须是2的指数。空间利用率:相同误判下......
  • 2020-05-21:es底层读写原理?倒排索引原理?
    es不熟悉,答案仅供参考:es写数据过程1、客户端选择一个node发送请求过去,这个node就是coordinatingnode(协调节点)2、coordinatingnode对document进行路由,将请求转发给对应的node(有primaryshard)3、实际的node上的primaryshard处理请求,然后将数据同步到replicanode。4、coord......
  • 2020-07-30-python-multithreading&multiprocessing
    注:参考Python多线程多进程那些事儿看这篇就够了~~进程、线程进程和线程简单举例:对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程。有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要......
  • Codeforces [Hello 2020] 1284F New Year and Social Network(图论匹配推理+lct)
    https://codeforces.com/contest/1284/problem/F题目大意:有两个大小为n的树T1和T2.T2中的每条边(u,v)可以匹配T1中u到v路径上的所有边。求最大匹配,并给出方案。\(1<=n<=250000\)题解:首先你需要观察样例大胆猜想一定有完美匹配。考虑T1中的一个叶子x和它的父亲y。显然的是,从T2中随......
  • 【GDOI2020模拟02.05】生成树 (矩阵树扩展)
    Description:给定一张N个点,M条边的无向图,边有红、绿、蓝三种颜色,分别用1,2,3表示。求这张图有多少生成树,满足绿色边数量不超过x,蓝色边数量不超过y,答案对10^9+7取模。n<=40题解:考虑正常的用矩阵树求生成树个数的方法。基尔霍夫矩阵里的每个位置只是一个数,事实上可以把它扩......
  • [WUSTCTF 2020]level2
    查壳:有壳,32位,先脱再进IDA:上来就给答案:得到NSSCTF......
  • P9166 [省选联考 2023] 火车站
    P9166[省选联考2023]火车站这道题很抽象,有这么几点注意事项1,火车必须走到尽头才可以停下,所以答案一定会出于输入的这些端点2,火车只能往一个方向走,不可以在中途换向那么这题怎么处理?不会真的要一波操作然后把所有答案排个序吧?我选择标记法!标记答案,省去了排序的过程。那么......