2023 CCPC 华为云计算挑战赛 D-塔

首先先来看第一轮的

假如有n个,每轮那k个

他们的高度的可能性分别为

n 1/C(n,k)

n+1 C(n-(k-1+1),1)/C(n,k)

n+2 C(n-(k-2+1),2)/C(n,k)

n+i C(n-(k-i+1,i)/C(n,k)

通过概率和高度算出第一轮增加的期望

然后乘上m轮增加的高度加上初始高度,就是总共增加的高度

下面是题解写的过程

cpp 复制代码
const int inf = 0x3f3f3f3f3f3f3f3f, N = 2e5 + 5, mod = 998244353;
int qpow(int a, int b) {
	int res = 1;
	while (b) {
		if (b & 1) res = res * a % mod;
		b >>= 1;
		a = a * a % mod;
	}
	return res;
}
int fpow(int x, int r) {
	int result = 1;
	while (r) {
		if (r & 1)result = result * x % mod;
		r >>= 1;
		x = x * x % mod;
	}
	return result;
}

namespace binom {
	int fac[N], ifac[N];
	int __ = [] {
		fac[0] = 1;
		for (int i = 1; i <= N - 5; i++)
			fac[i] = fac[i - 1] * i % mod;
		ifac[N - 5] = fpow(fac[N - 5], mod - 2);
		for (int i = N - 5; i; i--)
			ifac[i - 1] = ifac[i] * i % mod;
		return 0;
	}();

	inline int C(int n, int m) {
		if (n < m || m < 0)return 0;
		return fac[n] * ifac[m] % mod * ifac[n - m] % mod;
	}

	inline int A(int n, int m) {
		if (n < m || m < 0)return 0;
		return fac[n] * ifac[n - m] % mod;
	}
}
using namespace binom;//求解排列组合
signed main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	int T;
	cin >> T;
	while (T--) {
		int n, m, k;
		cin >> n >> m >> k;
		int fen = qpow(C(n, k), mod - 2);
		int ans = 0;
//		cout << C(3, 3) << '\n';
		ans = (ans + n * fen) % mod;
		for (int i = 1; i <= k; i++) {
//			cout << "------\n" << n - (k - i)-1 << ' ' << (k-i) << "\n" << "---------\n";
//			cout << C(n - (k - i) - 1, i) << '\n';
			ans = (ans + ((n+i) * fen) % mod * C(n - (k - i+1), i) % mod) % mod;
		}
		int w = (ans - n + mod) % mod;
		cout << (n + w * m % mod) % mod << '\n';
	}
}
相关推荐
枫叶丹43 天前
【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 常见组件(二) -> tabs
开发语言·前端·javascript·华为·华为云·harmonyos
〆、风神5 天前
华为云+硅基流动使用Chatbox接入DeepSeek-R1满血版671B
华为云
江湖有缘6 天前
华为云之CodeArts IDE的使用体验
ide·华为云
我们的五年6 天前
【Linux网络编程】华为云开放端口号
运维·网络·华为云
华为云开发者联盟9 天前
一键部署+限免体验!盘点如何在华为云上体验DeepSeek
ai·华为云·deepseek
九河云9 天前
华为云的分布式缓存服务适合什么场景
分布式·缓存·华为云
光锥智能11 天前
硅基流动与华为云联合推出基于昇腾云的DeepSeek R1&amp;V3推理服务
华为云
嵌入式-小王11 天前
华为云搭建微信小程序商城后台
微信小程序·小程序·华为云
神一样的老师14 天前
【BQ3568HM开发板】智能家居中控屏连接华为云IoTDA物联网平台
物联网·华为云·智能家居
梦想养猫开书店15 天前
30、Flink中操作已经配置好的远程文件系统
flink·华为云