zoukankan      html  css  js  c++  java
  • Codeforces 235B Let's Play Osu!

    题目大意

      现在有一个长度为n的只有ox组成的字符串。第i个位置上有pi的概率出现o,(1-pi)的概率出现x,如果有一段长度为L的全是o的部分,贡献就是L^2。求最后贡献的期望。

    题解

      这题有点思博啊……首先我们对于一个确定的串,从前往后扫,设当前o的长度为L,如果下一个是o的话,那么贡献就会增加(L+1)^2-L^2=2L+1.这样的话从前往后扫,我们维护两个值,一个是当前期望的o的长度now,一个是期望贡献ans,这样ans+=(2*now+1)*pi,now=(now+1)*pi

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 #include<cstdlib>
     5 #include<cstring>
     6 using namespace std;
     7 int n;
     8 double p,now,ans;
     9 int main()
    10 {
    11     ans=0.0;now=0.0;
    12     scanf("%d",&n);
    13     for(int i=1;i<=n;i++)
    14     {
    15         cin>>p;
    16         ans+=(2*now+1)*p;now=(now+1)*p;
    17     }
    18     printf("%.10f",ans);
    19     return 0;
    20 }
    View Code
  • 相关阅读:
    第三章感想
    第二章感想
    第一章感想
    第9章 硬件抽象层:HAL
    第10章 嵌入式linux的调试技术
    第8章 蜂鸣器驱动
    第七章 I/O
    第六章 编写Linux驱动程序
    第五章 S3C6410
    源代码的下载和编译
  • 原文地址:https://www.cnblogs.com/oldjang/p/6752484.html
Copyright © 2011-2022 走看看