CF1245E:Hyakugoku and Ladders
2024-08-30 02:05:04
CF1245E:Hyakugoku and Ladders
题意描述:
- 给你一个\(10*10\)的矩阵,矩阵描述如下
- 最开始的时候你在左下角,你的目标是到达左上角。
- 你可以走路径或者爬梯子。
- 路径的定义:
- 如果当前在一行的最右边,你可以网上爬一格。
- 如果在行内其他位置,你可以往旁边走。
- 每一回合你都要掷一个六面的骰子,假设当前骰子的正面为\(r\)。如果到终点的距离小于\(r\),那么你将不能移动。否则你将移动\(r\)格,如果你最后移动到的位置有一个梯子,你可以选择爬上去或者不怕上去。
- 你的目标是找到到达目的的回合的最小期望。
思路:
- 期望\(dp\)。
- 在二维上不是很方便,我们可以把二维看成一个一维数组。
- \(f(i)\)表示到\(i\)需要多少回合。如果没有梯子的限制,那么有状态转移方程:
- \(f(i)=\frac{f(i-1)+f(i-2)+...+f(i-6)}{6}+1\)
- 那么有了梯子,我们只需要针对梯子转移过来的情况取\(min\)即可。
#include<bits/stdc++.h>
using namespace std;
const int maxn = 15;
int g[maxn][maxn];
int nex[maxn][maxn];
int a[maxn*maxn];
double f[maxn*maxn];
int main()
{
for(int i = 1; i <= 10; i++)
for(int j = 1; j <= 10; j++)
nex[i][j] = (i-1)*10 + (i&1 ? j : 11-j);
for(int i = 1; i <= 10; i++)
for(int j = 1, x; j <= 10; j++){
scanf("%d", &x);
a[nex[i][j]] = nex[i-x][j];
}
f[1] = 0;
double sum = 0;
for(int i = 2; i <= 6; i++)
f[i] = (sum+6) / (i-1), sum += f[i];
for(int i = 7; i <= 100; i++)
{
sum = 0;
for(int r = 1; r <= 6; r++)
sum = sum + min(f[i-r], f[a[i-r]]);
f[i] = sum / 6.0 + 1;
}
printf("%.10f", f[100]);
return 0;
}
最新文章
- sql字符串分组
- RunTime&;RunLoop初见
- jquery.uploadify 动态传递参数
- 个人收集的一些网页上一键云DDOS攻击的网站、IP地址测试,服务器压力测试
- kali linux karmetasploit配置【续】
- 2013 French Open Semifinal Press
- tachyon 配置项
- 每天一道LeetCode--374. Guess Number Higher or Lower
- Ubuntu、Sql Server卸载心得
- 基于visual Studio2013解决C语言竞赛题之0524职工年龄
- Linux 命令整理
- digitalocean完成B轮8300万美元融资,赠送10美元优惠码
- Lumen 时区设置
- bzoj 3572世界树 虚树+dp
- MySql数据库的基本原理及指令
- hibernate解读之session--基于最新稳定版5.2.12
- Xamarin打包
- 笔记之monkey自定义脚本
- 【由浅入深理解java集合】(二)——集合 Set
- String字面量
热门文章
- 【C/C++开发】C++静态库与动态库以及在Linux和Windows上的创建使用
- Loj #3102. 「JSOI2019」神经网络
- 洛谷疯狂coding~
- Hbase flusher源码解析(flush全代码流程解析)
- [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column &#39;information_schema.PROFILING.SEQ&#39;
- scala中nothing和null的区别
- 【java】javac编译多个有依赖关系的java文件为class文件
- PIE SDK图像重采样算法
- 关于spring中请求返回值的json序列化/反序列化问题
- 前后端分离项目Vue+drf开发部署总结