设为首页 加入收藏

TOP

CF235 Let's Play Osu![dp+概率]
2015-07-20 17:50:19 来源: 作者: 【 】 浏览:10
Tags:CF235 Let' Play Osu 概率

题意:

给n个位置,给出1-n上每个位置出现O的概率pi,记分规则如下,连续的x个O记为x^2分,求和,如 XXOOOXOXOOXX得分为\

求得分的期望



<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+y7y/vNK7z8KjrM7Sw8fE3LHIvc/I3dLXtdi1w7P2T6Oobl4yo6m1xLe9t6g8L3A+CjxwPsHuZHBbaV3OqsewabXEtcO31sbazfs8L3A+CjxwPsTHw7Q8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140824/20140824090454221.png" alt="\">

显然这题

\

考虑一下变换记分的方式

我们有

\

那么记分方式就变为

一段连续的O,有多少对O×2+O的个数

一对O可以贡献2分


现在得分来源变为两个地方

一对O(2分),和单个O(1分)


我们知道

期望=概率×收益

我们找到每个对O的概率×2

再找到单个O×出现概率

求和即是期望得汾??http://www.2cto.com/kf/yidong/wp/" target="_blank" class="keylink">WPC9wPgo8cD48YnI+CjwvcD4KPHA+ttTT2sSz0ru49rXjaTwvcD4KPHA+09AoMSxpKSAoMixpKSAoMyxpKSAoNCxpKS4uLihpLTEsaSnV4tCpttRPo6zDv7j2uMXCyry0yse009fztb3T0sGss8ujrLHIyOc8aW1nIHNyYz0="https://www.cppentry.com/upload_files/article/49/1_gpjss__.png" alt="\">

令这些概率和为dp[i],即\

这样我们有递推关系

对i+1点来说,\


dp求和即是所有对O出现的概率之和×2

+

单个O出现的概率×1

求得的即是期望分数


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; const int NN=111111; double f[NN]; double dp[NN]; int main(){ #ifndef ONLINE_JUDGE freopen("/home/rainto96/in.txt","r",stdin); #endif int n;scanf("%d",&n); double sum=0; for(int i=1;i<=n;i++){ //cin>>f[i]; scanf("%lf",&f[i]); sum+=f[i]; } double ansum=0; for(int i=2;i<=n;i++){ dp[i]=(dp[i-1]+f[i-1])*f[i]; ansum+=dp[i]; } printf("%f\n",ansum*2.0+sum); } 
      
     
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇几个集合类的比较 下一篇uva103 - Stacking Boxes(DAG)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)
·websocket和普通的so (2025-12-24 19:19:36)
·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)