LOOPS HDU - 3853 (概率dp):(希望通过该文章梳理自己的式子推导)
题意:就是让你从(1,1)走到(r, c)而且每走一格要花2的能量,有三种走法:1,停住。2,向下走一格。3,向右走一格。问在一个网格中所花的期望值。
首先:先把推导动态规划的基本步骤给出来。
· 1.设变量:(注意:设置变量时,要能够使整个求解过程可以分为多个阶段。)
2.分析阶段决策,并写出决策函数。(也就是能体现前阶段决策后阶段关系的函数)
3.写出指标函数。(也是就是我们得出解的函数。)
先第一步:设置变量,我们分析这个题的是从(1,1)到(r, c)那么什么能体现“阶段”这个词的东西呢?
十分明显,那就是步数(把停下也看做一步)啊;那么来具体分析一下。假设:我们走到(x,y)那么他的上一阶段是不是有三种可能,那么这三种上一阶,是不是由上上一阶的决策所决定的。是不是这样就把分层分阶段给划出来了。那么我们就设dp[i][j] 表示走到(x,y)时的期望值,最重要的是i,j的意义。
然后第二步:(分析决策函数)
设Sk便是第k阶段. 设决策为Pk
则S1={(1,1),(2,1),(1,2);则,那么Pk就在S1中决策,我们这道题的决策P1=P01+P02+P03 <=>dp[1][1]=dp[1][1]+dp[2][1]+dp[1][2](我只是想更好的让大家理解这个决策)。好了,这个决策函数就写好了
最后第三步:(分析指标函数)
设Vk为指标函数。当然,一般有最值等等类型。我还是回到原题。假设走到(x, y)那么这前部的期望值是由决策函数来决策的。
回到决策函数:Pk=P(k-1)1+P(k-1)2+P(k-1)3 (设h1,h2, h3分别是对应的概率) 那么Vk=(h1*P(k-1)1+h2*P(k-1)2+h3*P(k-1)3+2)
好了,其实指标函数就是动态规划方程式了, dp[i][j]=(p[i][j][0]*dp[i][j]+p[i][j][1]*dp[i][j+1]+p[i][j][2]*dp[i+1][j]+2) ===>
dp[i][j]=(p[i][j][1]*dp[i][j+1]+p[i][j][2]*dp[i+1][j]+2)/(1-p[i][j][0]);
ac代码:
#include<cstring> #include<cstdio> #define maxn int(1e3+2)double dp[maxn][maxn], p[maxn][maxn][3];int main(){int r, c;while (scanf("%d%d", &r, &c) != EOF){for (int i = 1; i <= r;++i)for (int j = 1; j <= c;++j)for (int k = 0; k < 3; ++k)scanf("%lf", &p[i][j][k]);dp[r][c] = 0;for (int i = r; i>0; --i)for (int j = c; j > 0;--j)if (p[i][j][0] == 1||i==r&&j==c)continue;else {dp[i][j] = (p[i][j][1] * dp[i][j + 1] + p[i][j][2] * dp[i + 1][j] + 2) / (1 - p[i][j][0]);}printf("%.3lf\n", dp[1][1]);} }
转载于:https://www.cnblogs.com/ALINGMAOMAO/p/9719994.html
LOOPS HDU - 3853 (概率dp):(希望通过该文章梳理自己的式子推导)相关推荐
- HDU 5001 概率DP || 记忆化搜索
2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP 測 ...
- HDU - 6558/概率dp(从后往前推导)
VJ地址 中文题意: 有一个苦逼程序员小A,他有一个女朋友B,最近看上了一个游戏,他想买这个游戏,可是小A是一个怕老婆的人,每个 月的工资都需要上交,小A找他女朋友商量了好久,最后B同意他用每个月的工 ...
- LOOPS HDU - 3853(概率dp,期望)
题意: 有一个R*C的方格.一个人想从(1,1)走到(r,c).在每个格子都有三种选择,向下,向右,或者原地不动.每个格子里的每个选择都有一定的概率.而每次移动都需要消耗2点的能量,问期望消耗的能量是 ...
- LOOPS HDU - 3853 dp求期望值
问题: Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help her friend Madok ...
- hdu 4305 概率dp
1 /* 2 题目大意:有n个房间由n-1个隧道连接起来,从1号房间开始, 3 每个节点i都有三种可能: 4 1.被杀死,回到节点1,概率为ki; 5 2.找到出口,离开迷宫,概率ei; 6 3.与它 ...
- HDU 4336 概率DP 状压
用d(S)表示所收集到卡片种类状态为S时还需买多少包小浣熊(这是我YY的)的期望. 则有方程d(S) = 1 + (P(空) + P(有)) * d(S) + P(无) * d(T) 其中P(空)表示 ...
- 【原创】概率DP总结 by kuangbin
概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...
- hdu 3853 LOOPS 概率DP
简单的概率DP入门题 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 ...
- 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, ...
最新文章
- 【软件】chrome设置默认字体
- 【Arduino】按键按下执行不同模式程序
- 0.0 目录-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- HDOJ 2041 超级楼梯
- pythonb超分辨成像_深度原理与框架-图像超分辨重构-tensorlayer
- stack vs heap:栈区分配内存快还是堆区分配内存快 ?
- el-tooltip位置不灵活_美团研究院:超五成生活服务业商户有灵活用工需求
- 使用计算机六年级,二十年后的电子计算机六年级作文
- 怎么把框架栏变颜色 html,如何修改easyui框架颜色,求指点_html/css_WEB-ITnose
- web前端 html+css+javascript网页设计实例 家乡网站制作
- 新手免费搭建个人网站
- cpu功耗排行_AMD、Intel CPU处理器性能、功耗及性价比排行(更新中)
- 怎么绘制等高线计算机软件,绘制等高线(LanDTM)
- OSPF虚链路配置及认证
- 你真的知道如何选择内存条吗?
- pc端常用电脑屏幕 媒体查询尺寸
- Java EE系列(九)——Java EE连接Mysql数据库(JDBC保姆级教学)
- 玲珑杯 1032 A-B
- *p++、(*p)++、*(p++)
- 二叉树进阶--二叉搜索树