当前位置: 首页 > news >正文

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轮增加的高度加上初始高度,就是总共增加的高度

下面是题解写的过程

 

 

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.lryc.cn/news/143431.html

相关文章:

  • 手搓大模型值just gru
  • eslint
  • node_modules.cache是什么东西
  • Python 包管理(pip、conda)基本使用指南
  • 系统级封装(SiP)技术如何助力智能化应用发展呢?
  • git配置代理(github配置代理)
  • 【数据结构】详解环形队列
  • Python爬取网页详细教程:从入门到进阶
  • linux安装JDK及hadoop运行环境搭建
  • 使用ChatGPT一键生成思维导图
  • 极简Vim教程
  • 在线帮助中心也属于知识管理的一种吗?
  • 《Linux从练气到飞升》No.18 进程终止
  • 自动化运维工具——ansible安装及模块介绍
  • Qt XML文件解析 QDomDocument
  • Vue2向Vue3过度Vuex状态管理工具快速入门
  • 生产制造型企业BOM搭建分析
  • 大数据课程K11——Spark的数据挖掘机器学习
  • 【PHP面试题81】php-fpm是什么?它和PHP有什么关系
  • MyBatis分页查询与特殊字符处理
  • Docker Desktop 笔记
  • VS2022 C++修改Window系统DNS源代码V2.0
  • 科技的成就(五十)
  • 一文讲明白C++中的结构体Struct和类Class的区别以及使用场景
  • etcd学习入门
  • pyqt点击按钮执行脚本
  • 9.oracle中sign函数
  • LVS DR模式搭建
  • jmeter传参base64卡顿如何解决
  • JAVA-编程基础-10-集合