P4548

可能更好的阅读体验

首先这个东西肯定是在 tire 图上期望 DP。

只考虑前缀,考虑设 \(f_i\) 表示第一次跳到 \(i\) 的期望时间,\(g_i\) 为从 \(i\) 跳到前面再跳回 \(i\) 的期望时间,\(h_j\) 为从 \(j\) 跳到当前 \(i\) 的期望时间。

推导可得 \(f_{i+1}=f_i+(m-1)g_i+1,g_i=\frac{\sum_{j\neq s_{i+1}}(h_{nxt_{i,j}}+1)}{m-1}\)

考虑 \(i\) 变成 \(i+1\)\(h_j\) 的变化,容易发现此时只有 \(i\) 能跳到 \(i+1\),推导可得 \(\forall j\le i,h_j\leftarrow h_j+(m-1)g_i+1\)

但是这个做法涉及到除法,不能处理模数为质数的情况。于是考虑设 \(p_i=(m-1)g_i\),则 DP 变为:

  • \(f_{i+1}=f_i+p_i+1\)

  • \(p_i=\sum_{j\neq s_{i+1}}(h_{nxt_{i,j}}+1)\)

  • \(\forall j\le i,h_j\leftarrow h_j+p_i+1\)

使用数据结构优化即可做到 \(O(n\log n)\)

感觉再仔细刻画一下这个 DP 可能能推出正解?

posted @ 2025-04-25 17:52  ax_by_c  阅读(146)  评论(0)    收藏  举报