题目大意:

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

点要扔色子的次数的数学期望

从某一点 i 扔完色子可到达 i+1,i+2,i+3,i+4,i+5,i+6这6个点,令dp[i]为到达末尾的数学期望

那么到达之后6个点的数学期望是一样的,那么dp[i]=dp[i+1]*1/6.0+dp[i+2]*1/6.0+dp[i+3]*1/6.0+dp[i+4]*1/6.0+dp[i+5]*1/6.0+dp[i+6]*1/6.0+1

碰到可以直接飞的进行一个if判断,直接将dp值赋予即可,不执行上述的dp操作过程

 1 #include<cstdio>
 2 #include<algorithm>
 3 #include<math.h>
 4 #include<string.h>
 5 using namespace std;
 6 const int maxn=1e5+10;
 7 int match[maxn];
 8 double dp[maxn];
 9 void init()
10 {
11     memset(dp,0,sizeof(dp));
12     memset(match,0,sizeof(match));
13 }
14 int main()
15 {
16     int n,m;
17     while(scanf("%d%d",&n,&m)!=EOF){
18         if(n==0&&m==0) break;
19         init();
20         for(int i=1;i<=m;i++){
21             int a,b;
22             scanf("%d%d",&a,&b);
23             match[a]=b;
24         }
25         for(int i=n-1;i>=0;i--){
26             if(match[i]) dp[i]=dp[match[i]];
27             else{
28                 for(int j=1;j<=6;j++){
29                     dp[i]+=dp[j+i]/6.0;
30                 }
31                 dp[i]+=1;
32             }
33         }
34         printf("%.4f\n",dp[0]);
35     }
36     return 0;
37 }

转载于:https://www.cnblogs.com/pangbi/p/11565163.html

概率dp 期望 逆推相关推荐

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

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

  2. spoj Favorite Dice(概率dp+期望)

    题意: 摇一个n面的骰子,问每一面都被摇到的次数期望是多少. 题解: 概率dp往往都是倒着推 我们设dp[x]表示已经摇到了x个面,还要摇的概率次数 那么dp[n] = 0(即一次还没摇) dp[0] ...

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

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

  4. 概率DP,递推(麻球繁殖,UVA 11021)

    能想到是概率DP,但是定义状态dp[i][j]第i天剩j个麻球.然后麻球数量可能会繁殖到非常多,状态太多数组开不下,然后就不会了. 感觉自己总是轻易就放弃了,还是应该再思考一下,一般遇到这种想到DP但 ...

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

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

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

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

  7. bzoj 4872 分手是祝愿 - 概率与期望 - 递推

    首先考虑,给你一个局面最少操作多少次,显然要从大往小按,可以证明这样是最优的.把这些按下的位置标记出来,可以证明一定要恰好按这些位置,别的不能动.因此问题转化为,给你一个序列,有若干位置需要被访问奇数 ...

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

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

  9. 【学习笔记】信息学竞赛中的概率与期望小结

    信息竞赛--概率与期望 事件 事件的蕴含.包含 事件的互斥 事件的对立 事件的和(并) 事件的积(交) 事件的差 概率 事件的独立性 全概率公式 贝叶斯公式 概率DP(竞赛中的考察) 期望(竞赛中的考 ...

最新文章

  1. 修图动口不动手,有人把StyleGAN和CLIP组了个CP,能听懂修图指令那种
  2. Spring学习(10)--- @Qualifier注解
  3. python office库使用_看完这篇Python操作PPT总结,从此使用Python玩转Office全家桶就没有压力了!...
  4. 5G(6 )---5G NR 物理层 索引
  5. Python+matplotlib响应鼠标滚轮事件调整图形大小
  6. 【CloudXNS教您几招】如何让多ip域名配置游刃有余?(2)
  7. Thrift的安装和简单示例
  8. 解读 V8 GC Log(二): 堆内外内存的划分与 GC 算法
  9. J2me调用wap浏览器
  10. 【只摘金句】Linux 开发模式带给创业者的启示
  11. 工程专硕在职研究生12月联考数学复习
  12. 软件开发平台流辰信息如何为客户分忧解难?
  13. 硅计算机的原理,量子计算机工作原理揭秘
  14. 修复鼠标右键没有vscode快捷入口的问题
  15. 数字北京城,航行在联通2000M的“大运河”
  16. [Python 爬虫之路3] 使用seletom,爬取淘女郎-美人库的内容
  17. 二进制的位数,字节、字符
  18. #距离#JZOJ 3256 BZOJ 3170 洛谷 3964 松鼠聚会
  19. Linux操作系统实验:生产者和消费者问题
  20. Python socket模块

热门文章

  1. 算法设计与分析--棋盘覆盖问题解决思想
  2. Android APN设置 获取APN列表
  3. matlab gmt,科学网—在Matlab中调用GMT画图 - 徐逸鹤的博文
  4. gmt转换北京时间 java_java GMT 日期转换 | 学步园
  5. android内嵌套cocos2dx,Cocos2dx项目嵌入到Android原生项目中
  6. windows、linux环境中javacv视频抓图
  7. bs4 Beautiful Soup详解
  8. 外媒:日本频繁举办黑客大赛,还邀请美俄相关专家坐阵
  9. python3多线程高容错爬取头条的街拍美图
  10. 如何用VR改变驾驶陋习?