首页 > 其他分享 >「联合省选 2020 A」组合数问题 题解

「联合省选 2020 A」组合数问题 题解

时间:2023-10-28 17:34:39浏览次数:36  
标签:end limits 省选 题解 sum int 2020 Bmatrix binom

非常显然的,我们展开 \(f(k)\),于是有:

\[\begin{align} &\sum\limits_{k=0}^{n}\sum\limits_{i=0}^{m}a_{i}k^{i}x^{k}\binom{n}{k}\\ =&\sum\limits_{k=0}^{n}\sum\limits_{i=0}^{m}a_{i} {\sum\limits_{j=0}^{i}\begin{Bmatrix}i\\j\end{Bmatrix}\binom{k}{j}j!} x^{k}\binom{n}{k}\\ =&\sum\limits_{i=0}^{m}a_{i}\sum\limits_{j=0}^{i}\begin{Bmatrix}i\\j\end{Bmatrix}j!\sum\limits_{k=0}^{n}x^k\binom{n}{j}\binom{n-j}{k-j}\\ =&\sum\limits_{i=0}^{m}a_{i}\sum\limits_{j=0}^{i}\begin{Bmatrix}i\\j\end{Bmatrix}j!\binom{n}{j}\sum\limits_{k=0}^{n-j}x^{k+j}\binom{n-j}{k}\\ =&\sum\limits_{i=0}^{m}a_{i}\sum\limits_{j=0}^{i}\begin{Bmatrix}i\\j\end{Bmatrix}n^{\underline{j}}(x+1)^{n-j}x^{j}\\ =&\sum\limits_{i=0}^{m}n^{\underline i}(x+1)^{n-i}x^{i}\sum\limits_{j=i}^{m}a_{j}\begin{Bmatrix}j\\i\end{Bmatrix} \end{align} \]

然后就直接\(\mathcal O(m^2)\) 做出这道题。

code

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using ci = const int;

int n, x, p, m, a[1005];
int S[1005][1005];

int qpow(int x, int y)
{
	int z = 1;
	while (y)
	{
		if (y & 1) z = 1ll * z * x % p;
		x = 1ll * x * x % p, y >>= 1;
	}
	return z;
}

int main()
{
	// freopen(".in", "r", stdin);
	// freopen(".out", "w", stdout);

	cin >> n >> x >> p >> m;
	for (int i = 0; i <= m; ++i) cin >> a[i];
	S[0][0] = 1;
	for (int i = 1; i <= m; ++i)
		for (int j = 1; j <= i; ++j)
			S[i][j] = (S[i - 1][j - 1] + 1ll * S[i - 1][j] * j) % p;
	int ans = 0;
	for (int i = 0; i <= m; ++i)
	{
		ll n1 = 1;
		for (int j = 0; j < i; ++j) (n1 *= n - j) %= p;
		ll n2 = n1 * qpow(x + 1, n - i) % p * qpow(x, i) % p;
		for (int j = i; j <= m; ++j)
			(ans += n2 * a[j] % p * S[j][i] % p) %= p;
	}
	cout << ans;

	return 0;
}

标签:end,limits,省选,题解,sum,int,2020,Bmatrix,binom
From: https://www.cnblogs.com/cqbzljh/p/17794335.html

相关文章

  • CF777E题解
    分析看到这个题就想到了二维偏序。你们很自然地,以\(b\)为第一关键字降序排序,当有若干个片\(b\)相等时,我们发现由于\(a<b\),所以排到最后的片一定能把这些\(b\)相等的片都统计上,而前面的片能否统计是依赖于\(b\),所以考虑如何让后面的片更好统计,显然\(a\)越小越好统......
  • 省选联考 2022 填树
    洛谷传送门LOJ传送门这题做得真艰难。先考虑第一问。一眼看上去并没有什么复杂度脱离值域的办法。考虑枚举一个\(x\)表示最小值,那么点权只能在\([x,x+K]\)中。点权最小值不一定为\(x\),减去点权在\([x+1,x+K]\)中的答案即可,也就是把\(K\)减\(1\)后再算一......
  • NOIP2023模拟5联测26 题解
    NOIP2023模拟5联测26题解感觉我这场的官方题解写的是真的挺好的,所以我只能作少量补充。你可以直接去看官方题解,如果你想的话。T1x题解\(n=2\)没啥可说的。\(\color{white}{这档分你要是没拿到那你还是蛮强的。}\)\(n=3\)的时候,我们需要比较\((a_1^{a_2})^{a_3}\)与......
  • [TopCoder 13001] BigO 题解
    [TopCoder13001]BigO题解题目描述给定一张有向图,当\(L\)趋近于无穷大时,长度为\(L\)的路径条数有\(S\)条,此时若\(S=O(L^k)\),输出\(k\),否则如果没有多项式的大O表示法,输出\(-1\)。指数情况首先如果一张图中存在如下强连通分量,则\(S=O(2^L)\)。因为每次到1......
  • P7650 题解
    非常好题目,第一步都想不出来。可以观察出来最优方案必定是从大往小将\(x\)放到\(x+1\)前,有可能不动,中间的比他小的一定要放到前面去。考虑用dp计算最小值。这里是这道题最重要的一步:相对位置的变化非常不好描述,考虑将所有数固定。一次操作改为:不影响其他其他数的位置,将一......
  • 题解 P4285 [SHOI2008] 汉诺塔
    具体思路设\(f_{i,x}\)表示\(i\)个盘子从\(x\)柱子出发的步数。设\(g_{i,x}\)表示\(i\)个盘子从\(x\)柱子出发到哪个柱子。记\(y=g_{i-1,x}\),\(z=6-x-y\)。其中,\(y\)代表将前\(i-1\)个盘子从\(x\)柱子移到的柱子,\(z\)代表剩下的那个柱子。分类讨论。若......
  • P2230 Tinux系统 题解
    传送门提供一种基于贪心的解法。首先是将\(p\)从小到大排序考虑到该系统是一棵树,所以对于系统中的每个点,我们记:\(tr_{son}\)表示该点(目录)的儿子的位置\(tr_{fa}\)表示该点(目录)的父亲的位置\(tr_{siz}\)表示该点(目录)包含的点的个数\(tr_{cnt}\)表示该点(目录)有......
  • YACS 2023年10月月赛 甲组 题解
    目前只有T2,其他题目我在看。题目链接1题目链接2题目链接3T2很简单的一道题,将图分为若干个连通块,然后分别求最小生成树。从货车运输中得到的结论,最小生成树等价于最小边权上限生成树,也就是它也能够保证选出边中最大的边权最小。而题目中明确说了这个最小生成树的权值是其中......
  • [NOI2010] 超级钢琴 题解
    [NOI2010]超级钢琴题解说点闲话原本不想写这个题解的但是看到我的代码居然长度为2048B->刚好2KiB,然后还跟题号相同QAQ题目翻译给你一段序列,求出其中从第\(1\)大到第\(k\)大的子区间的和。思路解析首先可以想到一个简单的暴力,对于每一个区间开头\(i\),和区间结尾\(j\),都求......
  • 2023 CSP-J2 T1,2,3题解
    今年的\(CSP−J\)对本蒟蒻来说有点难度。。。A[CSP-J2023]小苹果题目描述小Y的桌子上放着\(n\)个苹果从左到右排成一列,编号为从\(1\)到\(n\)。小苞是小Y的好朋友,每天她都会从中拿走一些苹果。每天在拿的时候,小苞都是从左侧第\(1\)个苹果开始、每隔\(2\)个......