zoukankan      html  css  js  c++  java
  • P1365 WJMZBMR打osu! / Easy 题解(期望dp)

    题目链接

    题目思路

    显然每次转移都需要知道前面连续长度的期望

    所以使用两个数组,一个记录答案,一个记录连续长度期望即可

    代码

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    typedef pair<int,int> pii;
    #define fi first
    #define se second
    #define debug printf("aaaaaaaaaaa\n");
    const int maxn=3e5+5,inf=0x3f3f3f3f,mod=51123987,mul=233;
    const ll INF=0x3f3f3f3f3f3f3f3f;
    const double eps=1e-7;
    int n;
    char s[maxn];
    double dp[maxn][2];
    int main(){
        scanf("%d %s",&n,s+1);
        for(int i=1;i<=n;i++){
            if(s[i]=='o'){
                dp[i][1]=dp[i-1][1]+2*dp[i-1][0]+1;
                dp[i][0]=dp[i-1][0]+1;
            }else if(s[i]=='x'){
                dp[i][1]=dp[i-1][1];
                dp[i][0]=0;
            }else{
                dp[i][1]=dp[i-1][1]+dp[i-1][0]+0.5;
                dp[i][0]=(dp[i-1][0]+1)/2;
            }
        }
        printf("%.4f\n",dp[n][1]);
        return 0;
    }
    
    
  • 相关阅读:
    PHP和Ajax设置页面请求超时
    Flex 布局教程
    数据库访问优化法则
    phpcms网站搬家至服务器
    phpcms网页替换验证码及搜索功能
    php判断手机段登录
    php环境搭建
    ThinkPHP框架
    JQuery事件
    JQuery
  • 原文地址:https://www.cnblogs.com/hunxuewangzi/p/15544804.html
Copyright © 2011-2022 走看看