参考博客:http://www.cnblogs.com/kang000/p/8571071.html  (这篇博客写的真的走心,ORZ)

题意
有n个硬币排成一排,开始的时候所有的硬币都是正面朝下,你必须要扔K次硬币,每次选择一个硬币,如果你采取最优策略,K次以后朝上的硬币数的最大期望是多少?

分析

一脸懵逼两脸懵逼三脸懵逼···

--------------------------------------------------------------------------

随机变量X是指朝上的硬币数,当有N枚硬币的时候,X=0,1,2,3....N

E(X)=1*p(1)+2*p(2)+....+n*p(n)。

要想求最大期望,我们在扔硬币的时候要遵循一个策略:尽量扔正面朝下的硬币

如果当前有0到n-1枚硬币正面朝上,我们可以选择正面朝下的硬币来扔,扔完以后朝上硬币数不变或者+1

如果当前有n枚硬币正面朝上,我们只能选择正面朝上的硬币来扔,扔完以后朝上的硬币数不变或者-1

-----------------------------------------------------------------------------------------------

令dp[i][j]为扔i次以后j枚硬币朝上的概率

根据上面总结的规律,我们可以的到状态转移方程

当j<n的时候

dp[i+1][j]+=dp[i][j]*0.5

dp[i+1][j+1]+=dp[i][j]*0.5

当j=n的时候

dp[i+1][j+1]+=dp[i][j]*0.5

dp[i+1][j-1]+=dp[i][j]*0.5

这样递推出概率来以后遍历一遍j求期望就好了~

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #include <algorithm>
 5
 6 using namespace std;
 7 const int maxn=500;
 8 double dp[maxn][maxn];
 9 int n,k;
10 int main(){
11     scanf("%d%d",&n,&k);
12     memset(dp,0,sizeof(dp));
13     dp[0][0]=1;
14
15     for(int i=0;i<k;i++){
16         for(int j=0;j<=n;j++){
17             if(j<n){
18                 dp[i+1][j]+=0.5*dp[i][j];
19                 dp[i+1][j+1]+=0.5*dp[i][j];
20             }
21             if(j==n){
22                 dp[i+1][j]+=0.5*dp[i][j];
23                 dp[i+1][j-1]+=0.5*dp[i][j];
24             }
25         }
26     }
27     /*for(int i=0;i<=k;i++){
28         for(int j=0;j<=n;j++){
29             printf("%d %d %f\n",i,j,dp[i][j]);
30         }
31     }*/
32    double ans=0;
33    for(int i=1;i<=n;i++){
34     ans+=dp[k][i]*i;
35    }
36    printf("%.6f",ans);
37
38 return 0;
39 }

View Code

转载于:https://www.cnblogs.com/LQLlulu/p/8886855.html

Gym 101606 F-Flipping Coins(概率dp)相关推荐

  1. Collecting Bugs POJ - 2096(基础概率dp+期望模板)

    题意: 有s个系统,n种bug,小明每天找出一个bug,可能是任意一个系统的,可能是任意一种bug,即是某一系统的bug概率是1/s,是某一种bug概率是1/n. 求他找到s个系统的bug,n种bug ...

  2. 动态规划报告(树形DP+概率DP

    动态规划报告 树形dp 树形 DP,即在树上进行的 DP.由于树固有的递归性质,树形 DP 一般都是递归进行的.一般需要在遍历树的同时维护所需的信息 以一道题目为例 2022CCPC桂林站G Grou ...

  3. 2018.09.01 poj3071Football(概率dp+二进制找规律)

    传送门 概率dp简单题. 设f[i][j]表示前i轮j获胜的概率. 如果j,k能够刚好在第i轮相遇,找规律可以发现j,k满足: (j−1)>>(i−1)(j−1)>>(i−1) ...

  4. Discovering Gold LightOJ - 1030[概率dp或者记忆化搜索]

    题目大意:有一个[1,n][1,n][1,n]的数轴,数轴上的每个对应位置上都有金矿,你初始位置是1,然后你每次都会投色子决定你下一步跳到哪里,如果你跳出了nnn,那么你就要重新投.问你跳到nnn的时 ...

  5. 【原创】概率DP总结 by kuangbin

    概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...

  6. BZOJ3029守卫者的挑战(概率dp)

    题目大意:给定n个事件,第i个事件发生的概率为pi,收益为ai,初始收益为k,求n个事件之后发生的事件数>=l且收益>=0的概率 收益只可能是正整数或-1. Solution dp[i][ ...

  7. 【概率DP】$P2059$ 卡牌游戏

    [概率DP]P2059 卡牌游戏 链接 题目描述 N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张 ...

  8. 【2019icpc徐州站】Random Access Iterator(概率dp,有坑,tricks)

    题干: Recently Kumiko learns to use containers in C++ standard template library. She likes to use the  ...

  9. 【CodeForces - 518D】Ilya and Escalator(概率dp,数学期望)

    题干: Ilya got tired of sports programming, left university and got a job in the subway. He was given ...

最新文章

  1. Linux Shell 命令--awk
  2. if test project can't be opened in devenv
  3. MYSQL 5.7 主从复制 -----GTID说明与限制 原创
  4. 非阻塞connect的实现
  5. 【转载】Spring @Async 源码解读。
  6. Table 'barfoo_datacenter_config.parttemplates' doesn't exist------Mysql
  7. componentsJoinedByString 和 componentsSeparatedByString 的方法的区别
  8. Java中的线程本地存储
  9. 前端学习(2355):uni里面的样式学习
  10. 生成网上下载的EF项目对应的数据库
  11. Go语言 通过文件流判断文件头来识别文件类型
  12. 三菱plc pwm指令_三菱PLC常用指令汇总,含用法与注释
  13. tomcat设置一级域名、二级域名访问指定项目
  14. 新起典|《奇妙·夜德天蚂拐节》定终身场景多媒体内容升级项目
  15. 【转】常用邮箱的 IMAP/POP3/SMTP 设置
  16. C++async、future、packaged_task、promise的使用
  17. 微信多开软件苹果版_快手充值快币微信充值苹果版;
  18. 编译可在Android上运行的qemu
  19. C#小工具 ---- 压缩图片并指定图片大小
  20. 带SN切换流程_抖音频繁切换账号会限流吗?抖音频繁切换账号会降权吗?

热门文章

  1. 阿里资深技术专家:在各阶段中,3年经验的程序员应具备哪些技术能力(进阶必看)...
  2. (19)C++项目练习二----------【音乐播放器】
  3. 【最小费用最大流】N. April Fools' Problem (medium)
  4. JMeter处理jdbc请求后的响应结果
  5. 关系数据库范式粗略理解
  6. (积累)java里的套接字
  7. .NET 关于Geometry转GeoJson
  8. 两个有序数组合成一个有序数组
  9. [BZOJ1724][Usaco2006 Nov]Fence Repair 切割木板
  10. bzoj1007题解