题意

有一个R*C的方格。一个人想从(1,1)走到(r,c)。在每个格子都有三种选择,向下,向右,或者原地不动。每个格子里的每个选择都有一定的概率。而每次移动都需要消耗2点的能量,问期望消耗的能量是多少。

分析

概率DP入门题。

f[i][j]为从(i,j)到(r,c)的期望消耗。从(i,j)有三种转移方法,在原地不动,向右,向下。在原地不动的概率是G[i][j][1],向右的概率为G[i][j][2],向下的概率为G[i][j][3]。但是在原地不动是不消耗能量的。(想一想如果在原地不动也消耗能量的话应该怎么解决)所以转移我们只考虑转移到右边和下边的情况。

f[i][j]=(f[i+1][j]*G[i][j][2]+f[i][j+1]*G[i][j][3]+2)/(1-G[i][j][1]).

code

 #include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <cmath> using namespace std;
const int maxn=+;
const int eps=1e-; double G[maxn][maxn][];
double f[maxn][maxn]; int r,c;
int main(){
while(scanf("%d%d",&r,&c)!=EOF&&r&&c){
for(int i=;i<=r;i++){
for(int j=;j<=c;j++){
for(int l=;l<=;l++){
scanf("%lf",&G[i][j][l]);
}
}
}
memset(f,,sizeof(f));
for(int i=r;i>=;i--){
for(int j=c;j>=;j--){
if(i==r&&j==c)
continue;
if(fabs(-G[i][j][])<=eps)continue;
f[i][j]=(f[i][j+]*G[i][j][]+f[i+][j]*G[i][j][]+)/(-G[i][j][]);
}
} printf("%.3f\n",f[][]);
}
return ;
}

【HDU3853】LOOPS的更多相关文章

  1. 【HDU3853】LOOPS [期望DP]

    LOOPS Time Limit: 5 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description Akemi Homura is a ...

  2. 【HDOJ】【3853】LOOPS

    概率DP/数学期望 kuangbin总结中的第7题 其实跟UVA 11762 Race To 1 那道题差不多……直接推下公式,然后倒推即可 Trick:有的点可能是p1[i][j]==1……这样的点 ...

  3. 看懂SqlServer查询计划【转】

    原文链接:http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html 开始 SQL Server 查找记录的方法 SQL Server ...

  4. 【Android】IntentService & HandlerThread源码解析

    一.前言 在学习Service的时候,我们一定会知道IntentService:官方文档不止一次强调,Service本身是运行在主线程中的(详见:[Android]Service),而主线程中是不适合 ...

  5. 【转载】看懂SqlServer查询计划

    看懂SqlServer查询计划 阅读目录 开始 SQL Server 查找记录的方法 SQL Server Join 方式 更具体执行过程 索引统计信息:查询计划的选择依据 优化视图查询 推荐阅读-M ...

  6. 【转】python f-string

    [转]python f-string   文章目录 1. 主要内容 1.1. 旧时代的格式化字符串 1.1.1. Option #1: %-formatting 1.1.2. 怎样使用 %-forma ...

  7. 【Python】【容器 | 迭代对象 | 迭代器 | 生成器 | 生成器表达式 | 协程 | 期物 | 任务】

    Python 的 asyncio 类似于 C++ 的 Boost.Asio. 所谓「异步 IO」,就是你发起一个 IO 操作,却不用等它结束,你可以继续做其他事情,当它结束时,你会得到通知. Asyn ...

  8. 【翻译】理解 LSTM 网络

    目录 理解 LSTM 网络 递归神经网络 长期依赖性问题 LSTM 网络 LSTM 的核心想法 逐步解析 LSTM 的流程 长短期记忆的变种 结论 鸣谢 本文翻译自 Christopher Olah ...

  9. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

随机推荐

  1. nginx 启用http2 https 无法访问的问题

    原因:   1. openssl  版本过低     解决方法:进行升级   yum  update openssl   2.ssl_ciphers 配置有问题    解决方法:修改为  ssl_ci ...

  2. bzoj 4010 [HNOI2015]菜肴制作——贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4010 和 bzoj 2535 差不多.因为当前怎么决策与该点后面连的点的标号情况有关,所以按 ...

  3. Django CBV与FBV

    FBV FBV(function base views) 就是在视图里使用函数处理请求. CBV CBV(class base views) 就是在视图里使用类处理请求. Python是一个面向对象的 ...

  4. Hibernate学习3—映射对象标识符(OID)

    一.Hibernate 用对象标识符(OID)来区分对象 作如下代码的实验: public class StudentTest { public static void main(String[] a ...

  5. css3的transition属性的使用

    transition是将某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画效果.这个属性一般搭配:hover来使 下面看一个例子:鼠标放在div上,0.2s后将div元素的背景色用一秒 ...

  6. canvas之绘制一张图片

    <canvas id="canvas" width="600" height="500" style="background ...

  7. 【POJ】3616 Milking Time(dp)

    Milking Time Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10898   Accepted: 4591 Des ...

  8. js与jQuery的区分

    Js与Jquery的区分

  9. CDH5.10 添加kafka服务

    简介: CDH的parcel包中是没有kafka的,kafka被剥离了出来,需要从新下载parcel包安装.或者在线安装,但是在线安装都很慢,这里使用下载parcel包离线安装的方式. PS:kafk ...

  10. 未注册在本地的Windows 2008 / Windows 7 X64的:'Microsoft.Jet.OLEDB.4.0'提供

    在服务器上部署项目的时候遇到如下错误:'Microsoft.Jet.OLEDB.4.0'提供在本地没有注册 服务器是WIN2008 导致这个错误主要有几个原因: 1,服务器上没有装MS Excel中的 ...