您的位置:首页 > 其它

【bzoj3450】 Tyvj1952 Easy

2015-10-04 16:32 316 查看
我是sb!

WA了两发哈哈哈哈哈哈

记录第i个位置的期望连击长度l[i]和期望得分f[i]

直接搞

都不好说什么了

sigh

[code]#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)

int n;
char st[300001];
long double l[300001] , f[300001];

int main() {
    scanf("%d" , &n);
    scanf("%s" , st + 1);
    rep(i , 1 , n) {
        if (st[i] == 'o')
            l[i] = l[i - 1] + 1 , f[i] = f[i - 1] + (l[i] * 2 - 1);
        else if (st[i] == 'x')
            l[i] = 0 , f[i] = f[i - 1];
        else if (st[i] == '?')
            l[i] = (l[i - 1] + 1) / 2 , f[i] = f[i - 1] + (l[i - 1] + 0.5);
    }
    printf("%.4Lf\n" , f
);
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: