1 条题解
-
0
题解
思路
把百分数 在模意义下写成 。令 表示只考虑前 层时,从空塔开始成功达到高度 的期望操作数,并令 。最终答案就是 。
考虑第一次尝试把当前目标高度推进到 时发生的连续掉落。若恰有 块石头掉落,其概率为 ,之后需要重新补回最后 个高度增量;若全部 块都掉落,其概率为 ,之后需要重新补回全部增量。因此有
$$f_i=1+\sum_{r=1}^{i-1}q_i^r(1-q_i)\sum_{j=i-r+1}^{i}f_j+q_i^i\sum_{j=1}^{i}f_j.$$交换求和顺序并合并等比数列,可以化为
把右侧含 的一项移到左侧,得到
$$f_i=\frac{1+\sum_{j=1}^{i-1}f_jq_i^{i-j+1}}{1-q_i}.$$由于 ,所以 在模 意义下一定可逆。
做法
子任务 1 可以把每个可能塔高视为马尔可夫链状态。对每个状态写出一步转移后的期望方程,再用模意义下的高斯消元求出空塔状态的期望。这样直接独立刻画了整个随机过程。
子任务 2 按上式依次计算 。对固定的 ,枚举所有 ,同步维护 的幂即可,最后累加所有 。
满分做法利用 只有 到 共一百种取值。对每个 记 ,并在计算第 项前维护
于是当前的分子就是 。算出 后,为进入下一位置,对所有 更新
每个位置只需更新一百个状态。
正确性证明
连续掉落恰好 块后,塔需要重新经历的高度增量正是 ;全部掉落时则需要重新经历 。按照这些互斥事件的概率求期望,得到上述关于 的方程,因此逐项求出的 与原随机过程一致。
维护量 在第一个位置前为空和,初值正确。若它在位置 前满足定义,加入 并把所有旧项的指数增加一后,更新式恰好得到位置 前的新定义。因此由归纳法,每次查询 都等于递推式所需的完整和,最终累加得到 。
复杂度
子任务 1 的时间复杂度为 ,空间复杂度为 。
子任务 2 的时间复杂度为 ,空间复杂度为 。
满分做法的时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1414
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者