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

news/2025/2/19 17:02:45/

首先先来看第一轮的
假如有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轮增加的高度加上初始高度,就是总共增加的高度

下面是题解写的过程

 

 

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';}
}


http://www.ppmy.cn/news/1058976.html

相关文章

【从零学习python 】69. 网络通信及IP地址分类解析

文章目录 网络通信的概念IP地址IP地址的分类A类地址B类地址C类地址D类地址E类地址私有地址 进阶案例 网络通信的概念 简单来说&#xff0c;网络是用物理链路将各个孤立的工作站或主机相连在一起&#xff0c;组成数据链路&#xff0c;从而达到资源共享和通信的目的。 使用网络…

CVE-2016-3088漏洞复现

1.背景介绍。 ActiveMQ的web控制台分三个应用&#xff0c;admin、api和fileserver&#xff0c;其中admin是管理员页面&#xff0c;api是接口&#xff0c;fileserver是储存文件的接口&#xff1b;admin和api都需要登录后才能使用&#xff0c;fileserver无需登录。 fileserver是…

Qt --- 自定义工具类 持续更新... ...

QSettings使用 .h文件 #ifndef UTIL_H #define UTIL_H#include <QSettings>class Util {public:// 配置文件读写 {{static bool writeInit(QString path, QString user_key, QString user_value);static bool readInit(QString path, QString user_key, QString &u…

【JVM基础】JVM入门基础

目录 JVM的位置三种 JVMJVM体系结构类加载器双亲委派机制概念例子作用 沙箱安全机制组成沙箱的基本组件 NativeJNI&#xff1a;Java Native Interface&#xff08;本地方法接口&#xff09;Native Method Stack&#xff08;本地方法栈&#xff09; PC寄存器&#xff08;Program…

软考高级系统架构设计师系列论文九十五:图书馆网络应用体系安全设计

软考高级系统架构设计师系列论文九十五:图书馆网络应用体系安全设计 一、网络应用体系安全设计相关知识点二、摘要三、正文四、总结一、网络应用体系安全设计相关知识点 软考高级系统架构设计师:计算机网络

微信小程序基于移动端的个人博客系统的设计与实现

博客系统是能够让网民记录分享和学习的一个网站&#xff0c;在博客中我们可以发表文章对感兴趣的事情进行讨论。而基于移动端的个人博客系统的设计是就为了迎合广大用户需求创建的一个界面简洁、有定向内容、业务逻辑简单易操作的博客系统。本文以博客系统的设计与实现为例&…

OPC UA使用

1、概述 OPC UA&#xff08;开放式产品通信统一架构&#xff0c;Open Platform Communications Unified Architecture&#xff09;是一种通信协议和通信架构&#xff0c;用于实现工业自动化系统中设备之间的数据交换和通信。 硬核技术分析OPC UA Kepserver EX6配置opc ua服务…

探究排序算法:比较与非比较排序算法及性能分析

探究排序算法&#xff1a;比较与非比较排序算法及性能分析 排序算法是计算机科学中的基本问题&#xff0c;它涉及将一组元素按照特定的顺序排列。本文将深入介绍比较排序算法和非比较排序算法&#xff0c;包括每个算法的原理、Java代码示例以及它们的性能分析和比较。 比较排…