题意:

摇一个n面的骰子,问每一面都被摇到的次数期望是多少。

题解:

概率dp往往都是倒着推
我们设dp[x]表示已经摇到了x个面,还要摇的概率次数
那么dp[n] = 0(即一次还没摇)
dp[0]就是答案
对于dp[i],我们考虑当前已经摇到i个面,动态规划要考虑状态,上一个状态可能是也是摇到了i个面(即本次摇的面已出现过),也可能是摇到了i-1个面(即本次摇的面第一次出现)
(1)扔到已经扔过的面求出的期望就是i/n *dp[i]
(2)扔到没扔过的面的期望就是 (n-i)/n *dp[i+1]
所以递推式为:
dp[i] = i/n *dp[i]+(n-i)/n *dp[i+1] +1.
两边都是dp[i]化简一下:
dp[i]=dp[i+1]+n/(n-i)

代码:

#include<bits/stdc++.h>
using namespace std;
double dp[1010];
int n;
int main()
{int t;scanf("%d",&t);while(t--){scanf("%d",&n);met(dp,0.0);for(int i=n-1;i>=0;i--)dp[i]=dp[i+1]+n*1.0/(n-i);printf("%.2lf\n",dp[0]);}
}

spoj Favorite Dice(概率dp+期望)相关推荐

  1. 插头DP 概率DP / 期望DP

    插头DP && 概率DP / 期望DP 写在前面: 插头DP P5056 [模板]插头dp 手写哈希表的方法: 拉链法的代码如下: 开放寻址法的代码如下: 接下来是这道题的代码实现: ...

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

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

  3. 借助树的概率dp(期望)+数学-好题-hdu-4035-Maze

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4035 题目意思: 有n个房间,有n-1条通道连接这n个房间(每两个房间之间有且只有一条路,所以实际上 ...

  4. HDU 4336 Card Collector(状压 + 概率DP 期望)题解

    题意:每包干脆面可能开出卡或者什么都没有,一共n种卡,每种卡每包爆率pi,问收齐n种卡的期望 思路:期望求解公式为:$E(x) = \sum_{i=1}^{k}pi * xi + (1 - \sum_ ...

  5. 概率dp 期望 逆推

    题目大意: 从起点0点开始到达点n,通过每次掷色子前进,可扔出1,2,3,4,5,6这6种情况,扔到几前进几,当然对应飞行通道可以通过x直达一点y,x<y,计算到达n点或超过n 点要扔色子的次数 ...

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

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

  7. 动态规划 —— 概率 DP 与期望 DP

    [概述] 由于概率和期望具有线性性质,使得可以在概率和期望之间建立一定的递推关系,这样就可以通过动态规划来解决一些概率问题,例如概率和期望的最值问题就常常使用概率 DP.期望 DP 来解决. 与其他的 ...

  8. SGU495 Kids and Prizes 概率DP,期望公式

    题目大意:有N个盒子,里面都放着礼物,M个人依次去选择盒子,每人仅能选一次,如果里面有礼物则将礼物取出来,把空盒子放回原位,若没有礼物,则把空盒子放回原位.求礼物被拿走的个数的数学期望. 一.期望dp ...

  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. AI 岗位年薪下降 8.9%,程序员越“老”越吃香,最新薪酬报告发布!
  2. 每日一皮:虽然我们交付了V2版本,但用户仍然使用V1版本...
  3. Activity到底是什么时候显示到屏幕上的呢
  4. 什么是云计算机服务器,云电脑服务器是什么
  5. java本地创建zk节点
  6. Spring依赖处理过程源码分析
  7. 统计正数和负数的个数然后计算这些数的平均值_计算机中的二进制原来是这样:原码、反码和补码
  8. MyBatis3简介
  9. htmlcleaner+xpath抓取网页数据
  10. Numpy 使用总结(三)
  11. (转载)七剑下天山,独领自动化测试技术
  12. 大巧不工 JGraph简介和使用技巧(转)
  13. 15种独一无二的创新数据可视化方式
  14. 用c语言手搓一个600行的类c语言解释器: 给编程初学者的解释器教程(1)- 目标和前言
  15. MTK方案上基于Android N拦截黑名单中的短/彩信的方法
  16. 创建fate账户密码
  17. API入门系列之五 -一个正儿八经的SDK程序
  18. win7计算机磁盘清理,win7电脑清理磁盘的操作过程
  19. Linux学习总结-Linux磁盘分区与挂载
  20. 深圳大数据培训技术分享:Hadoop集群同步

热门文章

  1. 【物理笑话】学过物理的人才能看懂的笑话,你能看明白几个?
  2. 预售┃连锁反应装置积木好玩到尖叫!
  3. 天赋差的程序员,难道就只能半途而废吗?
  4. 如何快速解剖数据背后隐藏的信息
  5. C语言计算一个数的平方根立方根,怎样快速计算出一个数的平方根立方根?
  6. linux 编写脚本示范,Linux-scripts-简单脚本和脚本的执行
  7. golang防止MySQL注入_mysql – 如何最大限度地降低golang服务中下游服务中SQL注入的风险?...
  8. java socket send_java socket编程
  9. git pull 覆盖本地_SVN与Git比较的优缺点差异
  10. java实用教程——组件及事件处理——ActionEvent事件