P1654 OSU! 题解
题目链接
好题!但不得不说早期洛谷的题解质量是真的差,感觉没有一篇题解是讲的特别清楚的,我看了好久才搞懂。下面是我认为的一种更规范的解题过程。
首先,我们设随机变量 Xi 表示从 i 向左的极长 1 串的长度,并且对于任意的 i,我们要想办法求出 E(X3i)。(需要注意的是 E(X3)≠(E(X))3。更一般地说,E(f(X))≠f(E(X))。)但直接求是不好求的,我们先考虑求出 E(Xi) 和 E(X2i)。
-
E(X):如果第 i 位是 0,那么 Xi=0;否则,“从 i 向左的极长 1 串的长度”就等于“从 i−1 向左的极长 1 串的长度”再加 1,即 Xi=Xi−1+1(当然 Xi−1 可以是 0。)。根据期望的可加性,就有 E(Xi)=(1−pi)⋅0+pi⋅(E(Xi−1)+1)=pi⋅(E(Xi−1)+1)。
(这里第 i 位是 0 的情况并不对答案产生贡献,因为乘上了 0,并且在 E(X2) 和 E(X3) 的推导中也是如此,所以下面不再讨论这种情况。)
其实这里的转移是较为明显的,但它运用的期望的重要性质——可加性将会在下面的推导中也用到,因此需要格外注意。
-
E(X2):这里是重点。回忆一下,在上面的推导中,我们把 Xi 表示成了两部分:i 向左(不包含 i)的部分——Xi−1 和第 i 位本身——1。能否把 X2i 也分成两部分表达?
确实是可以的。因为已经假定了第 i 位是 1,所以 Xi=Xi−1+1。进一步地,X2i=((Xi−1)+1)2=(Xi−1+1)2=X2i−1+2Xi−1+1。这样就成功地用下标小于 i 的式子表达出了 X2i!再次利用期望的可加性,就有 E(X2i)=pi⋅(E(X2i−1)+2E(Xi−1)+1)。
-
E(X3):既然已经推导出了 E(X2),那么这里也只需依葫芦画瓢了。
因为 X3i=(Xi−1+1)3=X3i−1+3X2i−1+3Xi−1+1
根据期望的可加性,有 E(X3i)=pi⋅(E(X3i−1)+3E(X2i−1)+3E(Xi−1)+1)。
到这里,本题的大部分推导都完成了,但仍没有结束。如果直接输出 E(X3n),那么是不对的,因为 E(X3n) 只表示从第 n 位向左这个串得到的分数,而不代表总分。
设 Yi 表示截至到第 i 位能得到的分数,那么
-
如果第 i 位为 0:显然 Yi=Yi−1。
-
如果第 i 位为 1:这里,我们希望把 Yi 表示成 Yi−1+Δ 的形式,其中 Δ 表示在第 i 位的“得分增量”,它应该是 X3i−X3i−1——这一部分之前已经推导过了,即 E(Δ)=E(X3i−X3i−1)=3E(X2i−1)+3E(Xi−1)+1。代回,就得到了最终的式子:
E(Yi)=E(Yi−1)+3E(X2i−1)+3E(Xi−1)+1
输出答案为 E(Yn)。□
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】