VJ地址
中文题意:
有一个苦逼程序员小A,他有一个女朋友B,最近看上了一个游戏,他想买这个游戏,可是小A是一个怕老婆的人,每个 月的工资都需要上交,小A找他女朋友商量了好久,最后B同意他用每个月的工作奖金来买游戏,且还需要和B玩智力游戏,赢了才能去买游戏,具体情况是这样的:
步骤1. 先假设小A 赢 小B的几率为 q = 2%
步骤2. 这个月小 A 获得工作奖金的几率为 P
步骤3. 如果这个月小 A 获得了工作奖金则转到步骤 4,否则转到步骤5
步骤4. 如果小 A 以 q 的胜率赢了小B,小A就可以去买游戏了,如果没有赢,则 q = min(100%, q+ 2%),并转到步骤2
步骤5. 小A 不甘心,使得 q = min(100%,q+1.5%),并转到步骤2进行下一个月
那么请问,当你知道小 A 获得奖金几率为 p 的情况下,小 A 预期要用几个月才能买到自己的游戏(即求 月数 的期望)

思路
概率dp
dp[i]表示在q的概率等于i的时候,A预计要dp[i]个月才能获胜(既数学期望),那么当i=100时,dp[i]=1/p;
当小于100时,
因为1.5是小数,不能当下标,所以2,翻倍处理
dp[i]=q
i1.0/200.0(赢了)+q(1-i1.0/200.0)(dp[min(i+4,200)]+1)(得了工作奖金但是输给B)+(1-q)*(dp[min(i+3,200)]+1)(没有得到工作奖金);

代码:

#include <bits/stdc++.h>
#define lc u << 1
#define rc u << 1 | 1
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
const int N = 4e6+10;
const int inf = 0x3f3f3f3f;
const ll INF = 0x3f3f3f3f3f3f3f3f;
const ll mod = 1e9+7;
const double eps = 1e-8;double dp[210];
int cc;
void solve()
{double q;cin>>q;q/=100;dp[200]=1/q;for(int i=199;i>=4;i--){dp[i]=q*i*1.0/200.0+q*(1-i*1.0/200.0)*(dp[min(i+4,200)]+1)+(1-q)*(dp[min(i+3,200)]+1);}printf("Case %d: %.9f\n",++cc,dp[4]);
}
int main()
{int t;t=1;cin>>t;while(t--){solve();}return 0;
}

HDU - 6558/概率dp(从后往前推导)相关推荐

  1. HDU 5001 概率DP || 记忆化搜索

    2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP  測 ...

  2. hdu 4305 概率dp

    1 /* 2 题目大意:有n个房间由n-1个隧道连接起来,从1号房间开始, 3 每个节点i都有三种可能: 4 1.被杀死,回到节点1,概率为ki; 5 2.找到出口,离开迷宫,概率ei; 6 3.与它 ...

  3. HDU 4336 概率DP 状压

    用d(S)表示所收集到卡片种类状态为S时还需买多少包小浣熊(这是我YY的)的期望. 则有方程d(S) = 1 + (P(空) + P(有)) * d(S) + P(无) * d(T) 其中P(空)表示 ...

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

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

  5. HDU 1493 QQpet exploratory park(概率DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1493 题意:一排有61个格子标号0-60.其中停在5,12, 22, 29, 33, 38, 42, ...

  6. hdu 3853 LOOPS 概率DP

    简单的概率DP入门题 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 ...

  7. HDU - 4035 Maze(概率dp)

    题目链接:点击查看 题目大意:给出一个 n 个点的树,初始时位于点 1 ,每个点都会给出一个概率 k[ i ] 和一个概率 e[ i ] ,其代表的意义分别是: k[ i ] :在点 i 有 k[ i ...

  8. HDU中一些DP的题目分类

    DP是难点,供自已以后系统学习. 1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包;第一次做的时候把概率当做 ...

  9. HDU-4035 Maze 概率DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4035 很不错的概率DP题目,因为这题是无向图,所以要对叶节点和非叶节点考虑,然后列出方程后,因为数据很 ...

最新文章

  1. [概念型] 区块链包含术语概念【27术语整理汇总】
  2. 使用powerdesigner设计类图并生成代码
  3. 牛客13592 武藏牌牛奶促销
  4. 华为鸿蒙系统p40,华为鸿蒙OS系统正式亮剑!华为P40再次确认:双打孔+麒麟990+鸿蒙OS...
  5. queue模块的使用
  6. 【UOJ 50】树状数组2
  7. (07)FPGA基本组成单元
  8. Guid.NewGuid().ToString()的几种格式 (转)
  9. 3d 自动生成物体_根据 2D 图片自动生成 3D 图书封面的牛逼工具
  10. SVN+网站服务器同步更新
  11. 开课吧Java课堂:什么是抽象类?如何使用抽象类?
  12. Java连接数据库代码
  13. java笔试题(题目+解析)
  14. java.lang.InstantiationException: class has no zero argument constructor
  15. C语言 求两个数最小公倍数和最大公因数
  16. led背光板的作用是什么呢?
  17. python制作ppt动画_天呐,还能这么玩!用 Python 生成动态 PPT
  18. java自带JWS开发Webservice服务
  19. 使用Tableau绘制电影数量与评分的符号地图
  20. python查看汉字的编码_python有关汉字编码问题

热门文章

  1. python实例化是什么意思_Python中实例化class的执行顺序示例详解
  2. 实验 5 性能测试脚本录制和开发实验报告--软件功能测试与性能测试实验
  3. 史上最难高考数学,全国平均26分...
  4. 这6部超经典的物理电影,居然还有人没有看过?
  5. 中国人数学好,数学思维差?
  6. 每日一笑 | 史上最贴心的骗子
  7. 每日一笑 | 一个男人逐渐变心的过程
  8. 区块链、自动驾驶、人工智能鏖战开始 谁将成为下一个风口?
  9. android动态化ui框架,动态化高性能的 UI 框架 Virtualview-Android
  10. oracle查询表占用空,Oracle 表的行数、表占用空间大小,列的非空行数、列占用空间大小 查询...