CF24D Broken robot

题意翻译

你收到的礼物是一个非常聪明的机器人,行走在一块长方形的木板上。不幸的是,你知道它是坏的,表现得相当奇怪(随机)。该板由n行和m列的单元格组成。机器人最初是在i行和j j列的某个单元格上。然后在每一步机器人可以到另一个单元。目的是去底层(n次)行。机器人可以停留在当前单元,向左移动,向右边移动,或者移动到当前下方的单元。如果机器人在最左边的列不能向左移动,如果它是在最右边的列不能向右移动。在每一步中,所有可能的动作都是同样可能的。返回步的预期数量达到下面的行。

一道好好地高斯消元被打成了暴力……

不难看出这是一个环形后效性的dp

然而我并不会……

于是抄打了个暴力,就是每一层在转移的时候多转移几次……

竟然过了……

虽然跑得很慢……但代码很短啊……

 1 //minamoto
 2 #include<cstdio>
 3 const int N=1005;
 4 double dp[N][N],d[N];
 5 int n,m,a,b;
 6 int main(){
 7     scanf("%d%d%d%d",&n,&m,&a,&b);
 8     for(int i=1;i<=m;++i){
 9         d[i]=2;
10         if(i>1) ++d[i];if(i<m) ++d[i];
11     }
12     for(int i=a+1;i<=n;++i)
13     for(int t=0;t<100;++t)
14     for(int j=1;j<=m;++j){
15         double Q=dp[i][j-1]+dp[i][j]+dp[i-1][j]+dp[i][j+1];
16         dp[i][j]=1.0+Q/d[j];
17     }
18     printf("%.10lf\n",dp[n][b]);
19     return 0;
20 }

原文地址:https://www.cnblogs.com/bztMinamoto/p/9792491.html

时间: 2024-10-10 10:33:59

CF24D Broken robot的相关文章

CF24D Broken robot(高斯消元)

CF24D Broken robot(高斯消元) 高斯消元新玩法 一眼期望\(dp\), 考虑逆推因为第\(n\)层的期望是确定的(都是\(0\)), \(F[x][y]\)表示从第\(x\)行第\(y\)列开始到第\(n\)层的期望步数 转移方程: \[ F[x][y] = (F[x][y] + F[x][y+1] + F[x][y-1] + F[x+1][y]) / 4 + 1 ~~(y ~!= 1 \&y~!=m)\\F[x][y] = (F[x][y] + F[x][y+1] + F[x

CF24D Broken robot | DP 高斯消元

题目链接 直接$dp$会有后效性,用高斯消元解决. 因为在这道题中列出的增广矩阵很有特点,所以用$O(M)$的时间复杂度就可以解出来. 注意$m=1$时的情况. #include<iostream> #include<cstdio> using namespace std; double f[1005][1005],g[1005][1005]; int main() { int n=0,m=0,x=0,y=0; scanf("%d%d%d%d",&n,&

【题解】CF24D Broken Robots(收敛性)

[题解]CF24D Broken Robots http://codeforces.com/problemset/problem/24/D 解1 获得一个比较显然的转移式子 \(dp(i,j)\)代表在\((i,j)\)坐标需要期望的走的次数 \[ dp(i,j)=0.25(1+dp(i-1,j)+dp(i,j-1)+dp(i,j+1)) \] 然而我们可以发现这个式子不满足无后效性..也找不到一种合适的顺序DP. 我们发现可以高斯消元,但是\(O(n^4)\)的复杂度我们接受不了. 式子里面的

codeforces24D

CF24D Broken robot 题目背景 小小迪带你吃瓜 题目描述 给出一个 n×m 的矩阵区域,一个机器人初始在第 x 行第 y 列,每一步机器人会等概率 的选择停在原地,左移一步,右移一步,下移一步,如果机器人在边界则丌会往区域外移动, 问机器人到达最后一行的期望步数. 输入输出格式 输入格式: 第一行两个整数,分别表示 n 和 m. 第二行两个整数,分别表示 x 和 y 输出格式: 一个小数表示答案 输入输出样例 输入样例#1: 10 10 10 4 输出样例#1: 0.000000

[ACM] HDU 4576 Robot (概率DP,滚动数组)

Robot Problem Description Michael has a telecontrol robot. One day he put the robot on a loop with n cells. The cells are numbered from 1 to n clockwise. At first the robot is in cell 1. Then Michael uses a remote control to send m commands to the ro

HDU 4576 Robot(概率题)

Robot Problem Description Michael has a telecontrol robot. One day he put the robot on a loop with n cells. The cells are numbered from 1 to n clockwise. At first the robot is in cell 1. Then Michael uses a remote control to send m commands to the ro

HDU 4576 Robot

Robot Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 102400/102400 K (Java/Others)Total Submission(s): 2776    Accepted Submission(s): 948 Problem Description Michael has a telecontrol robot. One day he put the robot on a loop with n cells.

HDU 4576 Robot 概率DP 水题

Robot Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 102400/102400 K (Java/Others)Total Submission(s): 3851    Accepted Submission(s): 1246 Problem Description Michael has a telecontrol robot. One day he put the robot on a loop with n cells.

HDU 4576 Robot(概率dp)

Robot Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 102400/102400 K (Java/Others)Total Submission(s): 5906    Accepted Submission(s): 1754 Problem Description Michael has a telecontrol robot. One day he put the robot on a loop with n cells.