HDU 4405 飞行棋求到终点时掷筛子的期望--期望dp
来源:互联网 发布:零境网络 官网 编辑:程序博客网 时间:2024/06/11 09:44
题意:飞行棋,掷筛子,但是如果当前的点有特技的话,可以不用掷筛子而是直接跳到一个指定点Yi,求从起点开始到终点时掷筛子的次数的期望。
分析:
期望dp模型,框架:dp[i]从当前状态i到达目标状态需要掷筛子的次数的期望,i能到达的状态要么是Yi(用了特技),要么是i+j(j为掷筛子得到的数字),所以状态方程:dp[i]=dp[Yi]或者dp[i+j]*1/6,记得最后要+1.
初始化:memset(dp,0,sizeof(dp))
实现:从后往前推,但是是从最后一个的前一个,就是说不是从n,而是从n-1
结果:输出dp[0]
代码:
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int n,m,y[100005];double dp[100005];int main(){while(cin>>n>>m){if(!n&&!m) break;int a,b;memset(y,0,sizeof(y));for(int i=0;i<m;i++){cin>>a>>b;y[a]=b;}memset(dp,0,sizeof(dp));for(int i=n-1;i>=0;i--){if(y[i]) dp[i]=dp[y[i]];else{for(int j=1;j<=6;j++){if(i+j>=n) dp[i]+=dp[n]*1/6;else dp[i]+=dp[i+j]*1/6;}dp[i]+=1.0;}}printf("%.4f\n",dp[0]);}}
0 0
- HDU 4405 飞行棋求到终点时掷筛子的期望--期望dp
- hdu-4405(dp+期望)
- HDU 4405 期望DP
- HDU 4405 期望DP
- 期望dp(HDU - 4405)
- HDU 4405 期望dp
- HDU 4405 概率期望DP
- Hdu 4405 期望DP 题解
- hdu 4405(期望dp)
- hdu 4336 期望dp
- HDU 3853(期望DP)
- 期望DP入门 HDU
- 概率与期望 HDU 4405 Aeroplane chess(飞行棋)
- hdu 4405 Aeroplane chess(很水的期望DP)
- [DP动归]-HDU-4405-动态规划的期望计算
- hdu 4405 概率dp 求期望
- hdu 4405 Aeroplane chess (期望dp)
- HDU 4405 Aeroplane chess(期望DP)
- 学习资源
- HDU 4883--TIANKENG’s restaurant【区间覆盖 && 暴力】
- 对象池
- CodeForces - 448D—Multiplication Table--二分法(nlogn)
- 赢了!北京获2022年冬奥会举办权
- HDU 4405 飞行棋求到终点时掷筛子的期望--期望dp
- HDU - 4396 More lumber is required (BFS 最短路)
- 【黑马程序员】C语言之函数
- springMVC --全局异常处理(两种方式)
- C语言的图形函数笔记
- nyoj47 过河问题
- mysql异常Packet for query is too large(mysql写入数据过大)
- ACM ? ACM !
- 排序算法进阶(一)——快速排序算法