1 条题解

  • 0
    @ 2025-8-24 22:47:50

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Alex_Wei
    **

    搬运于2025-08-24 22:47:50,当前版本为作者最后更新于2023-07-10 13:28:55,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    C. P9379 [THUPC 2023 决赛] 老虎机

    显然,我们只关心已经确定的位置集合 AA。称 AA 合法,当且仅当 AA 可以确定目标串。

    对于操作次数的期望,经典套路是根据期望的线性性,求出到达每个不合法状态的概率 PSP_S,乘以停留在该状态的期望时间 tSt_S,再求和。注意到 AA 合法则 AA 的超集合法,因此最终求答案时需要的 PPtt 和目标串无关,即若一个状态不合法,则到达它的概率不受到目标串的影响,考虑预处理。

    pSp_S 表示停留在状态 SS 的概率,则 pS=iS(1pi)p_S = \prod_{i\notin S} (1 - p_i)。根据经典结论,$t_S = \sum_{x = 0} ^ {+\infty} p_S ^ x = \frac {1} {1 - p_S}$,即 xx 次操作后仍停留在 SS 的概率乘以代价 11,求和。

    PSPTP_S\to P_T 的转移系数为 $\frac {\prod_{i\notin T} (1 - p_i) \prod_{i\in T\land i\notin S} p_i} {1 - p_S}$。预处理 fS=iSpif_S = \prod_{i\in S} p_igS=fSiS(1pi)g_S = f_S \prod_{i\notin S} (1 - p_i),则系数为 gTfSgS\frac {g_T} {f_S - g_S}。枚举超集 DP,时间复杂度 O(3l)\mathcal{O}(3 ^ l)。这部分也可以做到 O(2ll)\mathcal{O}(2 ^ ll)(类似 A 题按位处理)。

    对于目标串 sis_i,设 TiT_i 表示多少个已知位置集合使得可以唯一确定 sis_i,即 sis_i 的合法位置集合,则答案为 ATPAtA\sum_{A\notin T} P_At_A

    显然,对于任意 AA,它不会出现在超过 2A2 ^ {|A|}TiT_i 中。因此 Ti3l\sum |T_i| \leq 3 ^ l。考虑补集转化,将答案写成 APAtAATiPAtA\sum_{A} P_At_A - \sum_{A\in T_i} P_At_A。前者在预处理 P,tP, t 时直接求,关键在于如何求 TiT_i

    其实也不难。设 hS,Th_{S, T} 表示位置集合为 SS 时,状态为 TT 的唯一的串的标号。如果没有则为 00,如果有多个则为 1-1。初始化 hU,si=ih_{U, s_i} = i,其中 UU 是全集 {0,1,,l1}\{0, 1, \cdots, l - 1\}hSh_S 容易从 hS{x}h_{S\cup \{x\}} 转移过来,其中 xx 是任意一个不属于 SS 的位置。如果 hS,T=ih_{S, T} = i,则将 sis_i 的答案减去 PStSP_S t_S

    时间复杂度 O(3l)\mathcal{O}(3 ^ l)代码

    • 1

    信息

    ID
    8809
    时间
    2500ms
    内存
    1024MiB
    难度
    6
    标签
    递交数
    0
    已通过
    0
    上传者