[CTSC2006] 歌唱王国(概率生成函数 + KMP / 哈希)

文章目录

题面

洛谷P4548 [CTSC2006]歌唱王国

分析

先了解一下概率生成函数,对于一个随机变量 a a a,它的概率生成函数是 F ( x ) = ∑ i ≥ 0 ( Pr ( a = i ) ⋅ x i ) F(x)=\sum\limits_{i\geq0}(\text{Pr}(a=i)\cdot x^i) F(x)=i0(Pr(a=i)xi)对它求导得 F ′ ( x ) = ∑ i ≥ 0 ( Pr ( a = i ) ⋅ i ⋅ x i − 1 ) F'(x)=\sum\limits_{i\geq0}(\text{Pr}(a=i)\cdot i\cdot x^{i-1}) F(x)=i0(Pr(a=i)ixi1)根据期望的定义可得 E ( a ) = F ′ ( 1 ) \mathbb{E}(a)=F'(1) E(a)=F(1)


那么对于这道题,设 f i f_i fi表示,长度为 i i i的串结束(找到匹配)的概率, g i g_i gi表示长度为 i i i的串未结束(还没找到匹配)的概率。 f 0 = 0 f_0=0 f0=0 g 0 = 1 g_0=1 g0=1
对随机变量 a 1 : = a_1:= a1:=结束时的长度 和随机变量 a 2 : = a_2:= a2:=未结束时的长度 分别定义概率生成函数: F ( x ) = ∑ i ≥ 0 ( f i ⋅ x i ) F(x)=\sum\limits_{i\geq0}(f_i\cdot {x}^i) F(x)=i0(fixi) G ( x ) = ∑ i ≥ 0 ( g i ⋅

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值