【BZOJ3450】【Tyvj1952】Easy 可能DP

联系:

#include <stdio.h>
int main()
{
    puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢");
    puts("网址:blog.csdn.net/vmurder/article/details/46471319");
}

题解:

设 L 为当前期望后缀 o 长度。

出现一个 x 时。 L 归零。对答案没有不论什么贡献。

出现一个 o 时,这段 o 的长度由 L 变为 L+1 。这段的答案由 L2 变为 L2+2L+1 。对答案贡献为 2L+1 。

出现一个 ? 时。这段 o 的长度有可能变成 0 ,也可能变成 L+1 ,所以期望 L+12 。对答案贡献则为 0+2L+12 。

网上说特判的是什么鬼?

哪里有特判。。

代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 301000
using namespace std;
double l,ans;
char s[N];
int n;
int main()
{
//  freopen("test.in","r",stdin);
    int i,j,k;
    scanf("%d%s",&n,s+1);
    for(i=1;i<=n;i++)
    {
        if(s[i]==‘x‘)l=0;
        else if(s[i]==‘o‘)ans+=(++l)*2-1;
        else ans+=(l*2+1)*0.5,l=(l+1)*0.5;
    }
    printf("%.4lf\n",ans);

    return 0;
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-08-07 21:18:44

【BZOJ3450】【Tyvj1952】Easy 可能DP的相关文章

[bzoj3450]Tyvj1952 Easy[概率dp]

和之前一样考虑这个音符时x还是o,如果是x,是否是新的连续一段,对答案的贡献是多少$(a^2-{(a-1)}^2)$,然后递推就可以了. 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 char str[310000]; 6 long double p[310000],l[310000]; 7 8 int main() 9 { 10 int n,i; 11 12 scanf("%d",&n); 13 s

【BZOJ3450】Tyvj1952 Easy 期望DP

[BZOJ3450]Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o.比如ooxxxxooooxxx,分数就是2*2+4*4=4+16=20.Sevenkplus闲的慌就看他打了一盘,有些地方跟运气无关要么是o要么是x,有些地方o或者x各有50%的可能性,用?号来表示.比

bzoj 3450 Tyvj1952 Easy (概率dp)

3450: Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o.比如ooxxxxooooxxx,分数就是2*2+4*4=4+16=20.Sevenkplus闲的慌就看他打了一盘,有些地方跟运气无关要么是o要么是x,有些地方o或者x各有50%的可能性,用?号来表示.比如oo?

bzoj3450 Tyvj1952 Easy

Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o.比如ooxxxxooooxxx,分数就是2*2+4*4=4+16=20.Sevenkplus闲的慌就看他打了一盘,有些地方跟运气无关要么是o要么是x,有些地方o或者x各有50%的可能性,用?号来表示.比如oo?xx就是一个可能的输入.那么WJMZBM

BZOJ 3450 Tyvj1952 Easy 期望DP

题目大意:给定一个OX序列,一些点未确定,连续len长度的O会得到len^2的收益,求期望收益值 令f[i]为第i个点的期望收益值,l[i]为第i个点的期望长度 如果一个点是'O' 那么l[i]=l[i-1]+1 f[i]=f[i-1]+(l[i]*2-1) 如果一个点是'X' 那么l[i]=0 f[i]=f[i-1] 如果一个点是'?' 那么l[i]=(l[i-1]+1)/2 f[i]=f[i-1]+(l[i]*2-1) 等等 好像有些问题- - 如果一个点长度为1那么增加的收益显然是(1*2

HDU 4359 Easy Tree DP?

Easy Tree DP? Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1487    Accepted Submission(s): 567 Problem Description A Bear tree is a binary tree with such properties : each node has a value o

Bzoj 3450: Tyvj1952 Easy 期望/概率,动态规划

3450: Tyvj1952 Easy Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 431  Solved: 325[Submit][Status][Discuss] Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o.比如ooxxxxooooxxx

zoj 3791 An Easy Game dp

An Easy Game Time Limit: 2 Seconds      Memory Limit: 65536 KB One day, Edward and Flandre play a game. Flandre will show two 01-strings s1 and s2, the lengths of two strings are n. Then, Edward must move exact k steps. In each step, Edward should ch

3450: Tyvj1952 Easy

3450: Tyvj1952 Easy Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 269  Solved: 198[Submit][Status][Discuss] Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o.比如ooxxxxooooxxx

HDU 4359——Easy Tree DP?——————【dp+组合计数】

Easy Tree DP? Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1460    Accepted Submission(s): 557 Problem Description A Bear tree is a binary tree with such properties : each node has a value o