Tenzing and Random Operations CF1842G 题解
[1] 分析
设 \(m\) 次选的位置分别为 \(b_{1\sim m}\)。
于是答案为 \(\mathbb E(\prod\limits_{i = 1}^{n}(a_i + \sum\limits_{j = 1}^{m}[b_j \le i]\cdot v)) = \frac{S}{n^m}\)。
首先考虑期望很难做,希望将期望转化为概率形式,通过计算期望贡献之和来计算期望,发现因为这题贡献难以计算,这样还是有点困难。
再考虑因为所有方案等概率,将求期望转化为求所有情况下所期望答案的总和,最后除以总方案数即可,即求 \(S\)。
\(S = \sum\limits_{b}\prod\limits_{i = 1}^{n}(a_i + \sum\limits_{j = 1}^{m}[b_j \le i]\cdot v)\),发现最终的 \(a_i = a_i + v +\cdots\)。
因为答案最终是多个 \(n\) 个数相乘得到的数相加,于是答案可以 DP 求出。
具体而言,令 \(f_{i,j}\) 代表前 \(i\) 个数确定,有 \(j\) 个 \(b_p\) 已经确定。(注意,对 \(v\) 的个数并没有限制)。
对当前这一位分类讨论:
若这一位取 \(a_i\),则 \(f_{i - 1,j}\cdot a_i\to f_{i,j}\)。
若这一位取 \(v\)(已确定位置的 \(b\) 提供),则 \(f_{i - 1,j}\cdot v\cdot j\to f_{i,j}\)。
若这一位取 \(v\)(新确定一个 \(b\)),则 $f_{i - 1,j - 1}\cdot v\cdot (m - (j - 1))\cdot i\to f_{i,j} $。
那么初始有 \(f_{0,0} = 1\)。
最后统计答案 \(S = \sum\limits_{i=0}^{\min(n,m)} f_{n,i}\cdot n^{m-i}\)。
[2] 代码
int main() {
rd(n); rd(m); rd(v);
rep(i, 1, n) rd(a[i]);
int cur = 1;
int pre = 0;
f[0][0] = 1;
rep(i, 1, n) {
rep(j, 0, min(i, m)) {
f[cur][j] = 1LL * f[pre][j] * (a[i] + 1LL * v * j % mod) % mod;
if(j > 0) fadd(f[cur][j], 1LL * f[pre][j - 1] * v % mod * (m - (j - 1)) % mod * i % mod);
}
swap(cur, pre);
}
rep(i, 0, min(n, m)) {
fadd(S, f[pre][i] * fpow(n, m - i) % mod);
}
S = S * fpow(fpow(n, m), mod - 2) % mod;
pt("%d\n", S);
return 0;
}
[3] 经验
在遇到求期望的题目时,尝试将期望变为求概率或方案\(\cdot\)贡献。
Tenzing and Random Operations CF1842G 题解的更多相关文章
- Lintcode105 Copy List with Random Pointer solution 题解
[题目描述] A linked list is given such that each node contains an additional random pointer which could ...
- CF Gym 102028G Shortest Paths on Random Forests
CF Gym 102028G Shortest Paths on Random Forests 抄题解×1 蒯板子真jir舒服. 构造生成函数,\(F(n)\)表示\(n\)个点的森林数量(本题都用E ...
- NOI2014 随机数生成器
随机数生成器 [问题描述] 小H最近在研究随机算法.随机算法往往需要通过调用随机数生成函数(例如Pascal中的random和C/C++中的rand)来获得随机性.事实上,随机数生成函数也并不是真正的 ...
- Grinder搭建小记与Nduja(这次不待续了)
Grinder是比较有名的浏览器FUZZ框架,采用ruby语言编写,主要是作为测试框架来使用,在<白帽子讲浏览器安全>一书中作者使用了Nduja生成测试样本来配合Grinder使用.根据网 ...
- leveldb0
leveldb的源代码进行学习,则纯粹是出于一个码农对美好世界进行探究的好奇.接下来将尽可能从源代码上给出leveldb代码的详尽注释,这里先列出自己在阅读前后的主要参考. 0 官方文档http:// ...
- [LeetCode]题解(python):138-Copy List with Random Pointer
这道题目不是太懂,参考了http://www.cnblogs.com/zuoyuan/p/3745126.html的博客. 题意: A linked list is given such that e ...
- codechef Row and Column Operations 题解
版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...
- HDU 5938 Four Operations(乱搞)题解
题意:把'+', '-', '*' 和'/'按顺序插入任意两数字间隔,使得操作得到后计算后最大. 思路:没想到是个水题,打的时候想得太复杂了.这道题其实只要考虑*和/.显然我们要把a*b/c弄到最小. ...
- LeetCode题解之Copy List with Random Pointer
1.题目描述 2.问题分析 首先要完成一个普通的单链表的深度复制,然后将一个旧的单链表和新的单链表的节点使用map对应起来,最后,做一次遍历即可. 3.代码 RandomListNode *copyR ...
- HDU 6315 Naive Operations(线段树+区间维护)多校题解
题意:a数组初始全为0,b数组题目给你,有两种操作: 思路:dls的思路很妙啊,我们可以将a初始化为b,加一操作改为减一,然后我们维护一个最小值,一旦最小值为0,说明至少有一个ai > bi,那 ...
随机推荐
- 疑难杂症(已解决) | 为什么出现python中tkinter创建界面需要一闪而过才进入主窗口?
一.具体问题 如图所示,我编写了一个主窗口的程序(如下所示,有兴趣的可以自己复制后运行),发现需要先进入第一个窗口再进入主界面,这不符合逻辑. 代码区域(完整代码): from tkinter imp ...
- TypeScript 学习笔记 — 交叉类型、条件类型和条件分发(八)
目录 交叉类型 条件类型 1. 直接传入判断的条件 2. 把条件当成泛型传入 3. 多重条件判断 4. 判断接口中的类型 extends 父子关系(类型等级) 条件分发机制 实际开发中如何避免? &l ...
- django python 循环一个月的每一天
from datetime import datetime, timedelta def get_dates_in_month(year, month): start_date = datetime( ...
- [oeasy]python0014_二进制_binary_bin
二进制(binary) 回忆上次内容 上次我们了解了ASCII码表 ASCII 码表就是 American Standard Code for Inf ...
- 2023/4/16 SCRUM个人博客
1.我昨天的任务 大体学习并了解初始化pyqt5的一些可视化问题 2.遇到了什么困难 对于py的字典使用 3.我今天的任务 学习了easydict库的基本操作
- Fiddler使用界面介绍-工具栏
Fiddler工具栏介绍 1.备注 选择一个或多个请求后点击[备注]图标,可批量给请求添加备注显示在"Comments"一列 2.Replay 选择一个或多个请求后点击[Repla ...
- Jmeter参数化5-JSON提取器
后置处理器[JSON提取器] ,一般放于请求接口下面,用于获取接口返回数据里面的json参数值 1.以下json为例,接口返回的json结果有多组数据.我们要取出purOrderNo值 2.在jmet ...
- 大厂面经: 字节跳动 iOS开发实习生-飞书
好家伙, 线上面试,总时长1h30mins左右 整体流程: 0.自我介绍(0-2mins) 1.做的比较难的事情(15min) 我讲我之前写的一个低开平台,写了一个撤销回退功能,提了个pr,用了节流, ...
- 【C3】05 层叠与继承
本文旨在让你理解CSS的一些最基本的概念 --层叠.优先级和继承-- 这些概念决定着如何将CSS应用到HTML中,以及如何解决冲突. 尽管与课程的其他部分相比,完成这节课可能看起来没有那么直接的相关性 ...
- 【转载】 你真的理解Python中MRO算法吗?
来自:www.xymlife.com 作者: XYM 链接:http://www.xymlife.com/2016/05/22/python_mro/ (点击阅读原文前往) ------------- ...