当前位置: 首页 > news >正文

LOOPS

LOOPS

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3853

DP

设dp[i][j]为(i,j)到终点期望的使用魔力值,mp[i][j][k]为(i,j)到三个方向的概率。

那么,dp[i][j]=(2+dp[i][j+1])*mp[i][j][1]+(2+dp[i+1][j])*mp[i][j][2]+(2+dp[i][j])*mp[i][j][0],

移向得,dp[i][j]*(1-mp[i][j][0])=(2+dp[i][j+1])*mp[i][j][1]+(2+dp[i+1][j])*mp[i][j][2]+2*mp[i][j][0],

化简得,dp[i][j]=(2+dp[i][j+1]*mp[i][j][1]+dp[i+1][j]*mp[i][j][2])/(1-mp[i][j][0]).

注意当mp[i][j][0]==1时,此时将陷入LOOPS.

代码如下:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 #define EPS 1e-8
 5 #define N 1005
 6 #define INF 1000005
 7 using namespace std;
 8 int n,m;
 9 double mp[N][N][3];
10 double dp[N][N];
11 int main(void){
12     while(~scanf("%d%d",&n,&m)){
13         memset(dp,0,sizeof(dp));
14         for(int i=0;i<n;++i)
15         for(int j=0;j<m;++j)
16         for(int k=0;k<3;++k)
17             scanf("%lf",&mp[i][j][k]);
18         for(int i=n-1;i>=0;--i)
19         for(int j=m-1;j>=0;--j){
20             if(i==n-1&&j==m-1)continue;
21             if(fabs(1-mp[i][j][0])<EPS)dp[i][j]=INF;
22             else dp[i][j]=(2+dp[i][j+1]*mp[i][j][1]+dp[i+1][j]*mp[i][j][2])/(1-mp[i][j][0]);
23         }
24         printf("%.3lf\n",dp[0][0]);
25     }
26 }

 

转载于:https://www.cnblogs.com/barrier/p/5800401.html

相关文章:

  • mysql全解
  • centos6.5更新python2.7影响pip和easy_install
  • let和const注意点
  • springMVC上传图片
  • 海信研发出一款带伸缩式摄像头的社交电视产品
  • 前端面试每日3+1(周汇总2019.05.05)
  • 关于流量带宽这些误区,你犯了吗?
  • 洛谷 P1009 阶乘之和 Label:高精度
  • Java版CRC8和CRC16工具类
  • NPOI操作excel
  • Spark核心概念
  • Spring MVC+Kaptcha实现验证码功能
  • iOS NSDecimalNumber 使用
  • linux中断处理原理分析
  • 图论1——基础
  • 2019年如何成为全栈工程师?
  • Apache的80端口被占用以及访问时报错403
  • Docker入门(二) - Dockerfile
  • es6
  • happypack两次报错的问题
  • Javascript编码规范
  • mysql 数据库四种事务隔离级别
  • pdf文件如何在线转换为jpg图片
  • Promise面试题,控制异步流程
  • React as a UI Runtime(五、列表)
  • Redis学习笔记 - pipline(流水线、管道)
  • Redis字符串类型内部编码剖析
  • SQLServer之索引简介
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 包装类对象
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 电商搜索引擎的架构设计和性能优化
  • 构建二叉树进行数值数组的去重及优化
  • 猴子数据域名防封接口降低小说被封的风险
  • 机器学习 vs. 深度学习
  • 来,膜拜下android roadmap,强大的执行力
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 全栈开发——Linux
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 微信小程序填坑清单
  • 一、python与pycharm的安装
  • MyCAT水平分库
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​如何在iOS手机上查看应用日志
  • $.proxy和$.extend
  • (python)数据结构---字典
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (排序详解之 堆排序)
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转载)深入super,看Python如何解决钻石继承难题
  • .NET delegate 委托 、 Event 事件