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

CF1187F

\(n\) 个整数 \(a_1 \sim a_n\),每个数在 \([l_i, r_i]\) 随机选择,设 \(B = \sum\limits_{i = 1}^n [a_i \ne a_{i - 1}](a_0 = 0)\),求 \(E(B^2)\)

\(n \le 2 \times 10^5, 1 \le l_i \le r_i \le 10^9\)

首先如果要求的是 \(E(B)\) 就很简单,直接根据期望线性性拆一下即可。但是显然 \(E(B^2) \ne E(B)^2\),因为乘法是不能乱搞的(必须相互独立。)

考虑将 \(B\) 展开,\(B = (\sum\limits_{i = 1}^n [a_i \ne a_{i - 1}]^2) + 2(\sum\limits_{i < j} [a_i \ne a_{i + 1} \& a_{j} \ne a_{j + 1}])\)。因为之间是 +,所以可以分开计算。

前面那一部分就是 \(\sum [a_i \ne a_{i - 1}]\),用 \(1 - [a_i == a_{i - 1}]\) 算即可。(相同的概率应该都会把。)

后面那一部分如果 \(j > i + 1\) 就是相互独立的,可以分开算再乘起来。否则就是算 \(a_{i} \ne a_{i + 1} \& a_{i + 1} \ne a_{i + 2}\)。小小容斥一下变成 \(4\) 个东西算即可。

时间复杂度:\(O(n \log V)\),瓶颈在于逆元。

因为期望中乘法不能直接拆,只能将 \(B\) 展开然后进行计算。碰到 \(E(X \cdot Y)\) 都可以变成类似的形式。

\[E(X \cdot Y) = E((X1 + X2 + \dots) \cdot(Y1 + Y2 + \dots)) = E(X1) \cdot E(Y1) + E(X1) \cdot E(Y1) + \dots \]

另外再补充一下期望线性性(\(X, Y\) 为两个随机变量):

\(E(X + Y) = E(X) + E(Y)\) 在任何情况下成立,\(E(X \cdot Y) = E(X) \cdot E(Y)\) 只在 \(X, Y\) 相互独立的情况下成立。

http://www.jsqmd.com/news/37906/

相关文章:

  • 刷题日记—数组—数组偏移
  • 【数据结构】:C 语言常见排序算法的实现与特性解析 - 指南
  • rdp远程桌面协议进行远程桌面控制
  • 第五届 RTE 年度 Demo Day 三强公布!看到对话式 AI 的 N 种未来
  • 活用数组题目参考
  • static、static静态代码块、Math库、final
  • Miko Framework 系列(一):简介与核心理念
  • Markdown语法的学习①
  • DeepLiveCam2.3版本直播换脸(附本地部署教程)
  • CF235D
  • 20251108OIFHA
  • 第二次作业-何玮鑫
  • Python serialize listT
  • 2025年EGUOO肠胃片深度解析:科学复配视角下的胃肠健康新答案
  • logging 模块
  • 2025年河南工业大学2025新生周赛(3)
  • 指数生成函数
  • 基于SpringBoot+Vue的线上一流课程教学辅助系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】 - 指南
  • 类 类型转化(运用子类的方法)
  • postman: 用HTTPBasicAuth的方式发送账号密码
  • 11/11
  • 2025 ICPC 南京区域赛游记
  • 详细介绍:Kuikly 小白拆解系列 第1篇|两棵树直调(Kotlin 构建与原生承载)
  • 编程思维与 AI-coding 结合
  • 重大收获的一天
  • 如何制作一个随身服务器?
  • 业务用例模板(用户线上充值) - f
  • 丝路杯
  • CTF 流量分析- Wireshark 核心教程:从网卡抓包到 2025 - CTF 流量分析题目技巧
  • 关于做过的第一道实验题的思考