BZOJ 3450 Tyvj1952 Easy

来源:互联网 发布:北交大知行pt网址 编辑:程序博客网 时间:2024/06/05 04:24

概率DP

膜题解:http://www.cnblogs.com/y7070/p/5039670.html

设L为现在的期望连续’o’的长度减一(不统计当前的这块)

如果当前为’x’,显然当前格不贡献答案,且令L=0
如果当前为’o’,将会贡献2L+1【 (L+1)2L2 】的答案,L++
如果当前为’?’,将会贡献0.5*(2L+1)+0.5*0的答案,L=0.5*0+0.5*(L+1)

为什么对于每一块的贡献都可以用2L+1算?L代表的是期望连续长度。对于连续长度的不同取值d,贡献都为2d+1,累加起来除以方案数等价于它的期望,所以可以取期望代替(大废话)

#include<cstdio>#define N using namespace std;char getc(){    char ch=getchar();    while(ch!='o'&&ch!='x'&&ch!='?')ch=getchar();    return ch;}double f[300005], d[300005];int main(){    int n;    scanf("%d",&n);    for(int i = 1; i <= n; i++)    {        char ch=getc();        if(ch=='o')        {            f[i]=f[i-1]+2*d[i-1]+1;            d[i]=d[i-1]+1;        }        else if(ch=='x')        {            f[i]=f[i-1];            d[i]=0;        }        else        {            f[i]=f[i-1]+0.5*(d[i-1]*2+1);            d[i]=0.5*(d[i-1]+1);        }    }    printf("%.4lf\n",f[n]); }
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脸过敏像长痱子怎么办 脸上有淡淡白块怎么办 过敏了脸上会起小疙瘩怎么办 脸过敏出红疙瘩怎么办 脸上长红色的小疙瘩怎么办 脸上都是小米粒痘痘怎么办 小孩身上起风团疙瘩怎么办 脸上长疙瘩很痒怎么办 一个多月宝宝脸上有湿疹怎么办 脸上发红发痒起疙瘩怎么办 脸过敏了怎么办最简单 胸下垂应该怎么办19岁 身上的肉特别松怎么办 才30岁脸部松弛怎么办 脸上的皮肤很松怎么办 面部皮肤干燥起皮刺痛怎么办 脸上的皮肤很粗糙怎么办 脸上又红又痒怎么办 鲜红斑痣增生了怎么办 激光祛斑后色素沉着怎么办 白球鞋洗后发黄怎么办 夏天出汗妆花了怎么办 买的小产权房怎么办 嘴唇起皮怎么办小妙招 照相嘴巴是歪的怎么办 鼻子笑起来很宽怎么办 财运不好怎么办最近你有偏财 从小缺爱的人怎么办 一到晚上就怕死怎么办 碰到不讲理的人怎么办 遇到不讲理的人怎么办 蚰蜓虫子咬了怎么办 腰肌损伤怎么办恢复快 腰闪了怎么办最有效 墨兰严重烂根怎么办 铁兰花变绿了怎么办 1岁半宝宝吵瞌睡怎么办 28天宝宝吵瞌睡怎么办 2个月宝宝闹瞌睡怎么办 被刺猬的刺扎了怎么办 买电脑被坑了怎么办