ABC268 E~Ex

E

恶心,差分维护三段函数,细节有点恶心

具体细节看代码。

Code

F

简单贪心

Code

G

\(P_{i,j}\) 为字符串 \(i\) 字典序比字符串 \(j\) 小的概率,有如下几条结论:

  • \(s_j\)\(s_i\) 的前缀,那么 \(P_{i,j}=0\)
  • \(s_i\)\(s_j\) 的前缀,那么 \(P_{i,j}=1\)
  • 否则 \(P_{i,j}=\dfrac{1}{2}\),由对称性易知。

对于 \(i\) 来说,若它的第一类数量是 \(A_i\),第二类数量是 \(B_i\),那么 \(i\) 的期望排名是 \(A_i\times1+B_i\times0+\dfrac{N-A_i-B_i}{2}=\dfrac{A_i-B_i+N}{2}\)

那么把所有字符串插进 Trie 里简单统计一下就好了。

具体细节看代码。

Code

Ex

一个文本串,多个模式串,想到 AC 自动机。

将模式串都加入 AC 自动机中,然后拿文本串在自动机上跑,如果跑到一个包含某个模式串的状态,就把当前位置改成 *,然后重新从自动机的根开始跑。

具体细节看代码。

Code

posted @ 2022-10-17 10:53  Kobe303  阅读(26)  评论(0编辑  收藏  举报