bzoj 3450 期望分数

 

自己只能想到O(n^2)的:

dp[i][j] 表示 以i结尾,长度为j的o串的概率,然后在每次遇到x的时候算分数.

 

正解是:

dp[i]表示前i个的答案,d[i]表示以i结尾的期望长度.

推的时候它用d[i]*d[i]-d[i-1]*d[i-1]来算新增的贡献,有点不明白为什么可以这样(平方的期望应该不等于期望的平方才对吧).

哪天问问jason_yu.


这道题,假如我们已经确定了问号的内容,那么我们怎么求该种情况的分数的?

它等于:ans = sigma d[i]*d[i]-d[i-1]*d[i-1] ( if d[i]=d[i-1]+1 ) = sigma 2*d[i-1]+1 ( d[i+1]=d[i]+1 )

其中d[i]表示以i结尾的最长的o的长度,

所以本题答案就是 E( sigma d[i]*d[i]-d[i-1]*d[i-1] (d[i]=d[i-1]+1) ) = E( sigma 2*d[i-1]+1 (d[i]=d[i-1]+1) )

而上面那个d[i]=d[i-1]+1的等价条件是第i格不是x,这个可以在转移时候判断,于是答案变成了一些2*d[i-1]+1的期望的和.

 

转载于:https://www.cnblogs.com/idy002/p/4579278.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值