hdu 4405 Aeroplane chess 概率dp
2015-12-03 11:56
190 查看
传送门
给0-n这么多个格子, 初始在0, 然后扔骰子, 扔到几就走几步, 其中有些格子是相连的, 比如2,5相连, 那么到2就可以直接飞到5。 问到n处的期望步数。
首先肯定是倒着推的, dp
= 0. 然后如果x, y(x<y)相连, 那么dp[x] = dp[y]。转移方程很好写。具体见代码
给0-n这么多个格子, 初始在0, 然后扔骰子, 扔到几就走几步, 其中有些格子是相连的, 比如2,5相连, 那么到2就可以直接飞到5。 问到n处的期望步数。
首先肯定是倒着推的, dp
= 0. 然后如果x, y(x<y)相连, 那么dp[x] = dp[y]。转移方程很好写。具体见代码
#include<bits/stdc++.h> using namespace std; #define mem(a) memset(a, 0, sizeof(a)) double dp[100005]; int num, f[100005], vis[100005]; int main() { int n, m, x, y; while(cin>>n>>m) { if(n+m==0) break; mem1(f); while(m--) { scanf("%d%d", &x, &y); f[x] = y; } mem(dp); mem(vis); dp = 0; for(int i = n-1; i>=0; i--) { if(~f[i]) { dp[i] = dp[f[i]]; } else { for(int j = 1; j<=6; j++) { dp[i] += (1+dp[i+j])/6.0; } } } printf("%.4f\n", dp[0]); } }
相关文章推荐
- 关于页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
- Opencv中图像的灰度直方图
- Linux性能指标及分析工具
- Linux系统下修改IP地址、网关、DNS的基本方法
- 影响网站打开速度的9大因素
- CentOS 6.4安装lnmp环境
- 对于抓取网站内容,图片不屏蔽的方法
- CentOS 6 lnmp环境脚本
- Linux系统笔记
- svn在linux下的使用(svn命令)
- linux 运行级别
- Linux内核驱动之read和write
- 安装RedHat Linux引导盘安装服务器提示GPT分区无法继续安装的解决方法
- linux下安装vlc的注意事项
- shell 脚本报错^M: syntax error near unexpected token
- Xcode 6更新默认不支持armv7s架构
- Python在Linux | Windows中输出带颜色的文字的方法
- 测试nginx缓存模块ngx_cache_purge
- Calabash Android 安装及初始化
- Nginx服务器Gzip压缩