题目传送门:CF1278F

题意简述:

有 \(n\) 个独立随机变量 \(x_i\),每个随机变量都有 \(p = 1/m\) 的概率取 \(1\),有 \((1-p)\) 的概率取 \(0\)。

令 \(\displaystyle \Sigma x = \sum_{i=1}^{n} x_i\),求 \(E({(\Sigma x)}^k)\)。

题解:

\[\begin{aligned} \mathbf{Ans} &= \sum_{i=0}^{n} \binom{n}{i} p^i (1-p)^{n-i} i^k \\ &= \sum_{i=0}^{n} \binom{n}{i} p^i (1-p)^{n-i} \sum_{j=0}^{k} {k \brace j} i^{\underline{j}} \\ &= \sum_{j=0}^{k} {k \brace j} \sum_{i=0}^{n} \binom{n}{i} p^i (1-p)^{n-i} i^{\underline{j}} \\ &= \sum_{j=0}^{k} {k \brace j} n^{\underline{j}} \sum_{i=0}^{n} \binom{n-j}{i-j} p^i (1-p)^{n-i} \\ &= \sum_{j=0}^{k} {k \brace j} n^{\underline{j}} p^j \sum_{i=0}^{n-j} \binom{n-j}{i} p^i (1-p)^{n-j-i} \\ &= \sum_{j=0}^{k} {k \brace j} n^{\underline{j}} p^j \end{aligned}
\]

通常幂转下降幂是常用套路。注意这个恒等式:\(\displaystyle \binom{n}{i} i^{\underline{j}} = \binom{n-j}{i-j} n^{\underline{j}}\)。

下面是代码,时间复杂度为 \(\mathcal O (k^2)\):

#include <cstdio>

typedef long long LL;
const int Mod = 998244353;
const int MK = 5005; inline int qPow(int b, int e) {
int a = 1;
for (; e; e >>= 1, b = (LL)b * b % Mod)
if (e & 1) a = (LL)a * b % Mod;
return a;
} int N, M, K;
int S[MK][MK], Ans; int main() {
scanf("%d%d%d", &N, &M, &K);
M = qPow(M, Mod - 2);
S[0][0] = 1;
for (int i = 1; i <= K; ++i)
for (int j = 1; j <= i; ++j)
S[i][j] = (S[i - 1][j - 1] + (LL)j * S[i - 1][j]) % Mod;
for (int i = 1, C = 1; i <= K; ++i)
C = (LL)C * (N - i + 1) % Mod * M % Mod,
Ans = (Ans + (LL)S[K][i] * C) % Mod;
printf("%d\n", Ans);
return 0;
}

最新文章

  1. JAVA实现 springMVC方式的微信接入、实现消息自动回复
  2. outline使用方法,outline与border的区别:
  3. C#的变迁史 - C# 4.0 之并行处理篇
  4. RTX闪退(打开闪退,收发文件闪退)
  5. eclipse android 不会自动生成R.java文件和包的解决办法
  6. CSS模版收集
  7. NameThreadForDebugging -- Naming threads for debugging
  8. 结构体dict_table_t
  9. android ui定义自己的dialog(项目框架搭建时就写好,之后事半功倍)
  10. 利用SQLiteOpenHelper创建数据库,进行增删改查操作
  11. ASP.NET-FineUI开发实践-17
  12. Unity3D基础学习 加载场景时隐藏物体,点击显示时显示物体
  13. 有了SSL证书,如何在IIS环境下部署https?【转载】
  14. 我对DFS的理解
  15. PKU《程序设计》专项课程_递归汉诺塔问题
  16. Java线程池 详解(图解)
  17. linux如何查看一个进程的堆栈
  18. python开发_tkinter_单选菜单_不可用菜单操作
  19. Git 知识总结
  20. mysql5.7.20多实例编译安装

热门文章

  1. github配置ssh及多ssh key问题处理
  2. RabbitMQ学习笔记(二、RabbitMQ结构)
  3. 鲜贝7.3--Xshell安装
  4. angular跳转和传参
  5. 零基础入门 实战mpvue2.0多端小程序框架
  6. C语言中,如何输出一个菱形!
  7. 【ECNU3510】燃烧吧,室友!(模拟)
  8. 剑指offer:滑动窗口的最大值(栈和队列)
  9. Visual Studio 2015 Tools for Unity使用基础
  10. Python连载19-装饰器