HDU 6229 - Wandering Robots - [概率题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6229
转载:
https://blog.csdn.net/Anna__1997/article/details/78494788
题目大意
N * N的区域内,有K个格子不能到达,机器人从(0, 0)出发有均等的该概率留在原地和到达上下左右可到达的区域,问无穷远的时间以后有多大概率到达 x + y >= n - 1 的区域。
思路
计算除了不能到达的格子之外的格子能通往多少方向d,则格子的权值为d + 1,
ans = x + y >= n - 1 的格子的权值之和 / 总权值和
*******************************************************
马尔科夫链的随机游走模型
可建立状态转移矩阵,对n * n 的图中n * n 个点编号为0 ~[ (n - 1) * n + n – 1] 设最大编号为max
P = p(i, j) =
[p(0, 0) p(0, 1) … p(0, max)
P(1, 0) p(1, 1) … p(1, max)
…
P(max, 0) p(max, 1) … p(max, max)]
π(i) 为 i 时间各点的概率
π(n + 1) = π(n) * P
当时间 ->无穷 π(n + 1)->π
可以通过 π * P = π 计算
验证猜测结果正确
*******************************************************
找规律的答案 有待证明
现在能想到的是 整个封闭系统每个格子以出现机器人的概率作为权值 在很长的时间线上是一个熵增的
过程(想到元胞自动机),如果要模拟这个概率扩散的过程的话,格子的权值的更新是一个用他所能到达的格子的权值
和他自身的权值迭代的过程,这个过程中可以发现他的相邻的格子的权值是在不断同化的,因此,在无穷远后
(0, 0)的和他周围的格子的权值不在体现优势,而更加开放的格子则更占优(可根据迭代公式理解)
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii; const int maxn=+;
const int maxk=+;
const int dx[]={,,,-};
const int dy[]={,,-,}; int n,k;
map<pii,bool> mp;
int p,q; inline int gcd(int m,int n){return n?gcd(n,m%n):m;}
inline int check(const int &x,const int &y)
{
if(x<||x>=n||y<||y>=n) return ; if((x==||x==n-) && (y==||y==n-)) return ;
else if((x==||x==n-) && (y!=&&y!=n-)) return ;
else if((y==||y==n-) && (x!=&&x!=n-)) return ;
else return ;
} int main()
{
int T;
cin>>T;
for(int kase=;kase<=T;kase++)
{
mp.clear(); scanf("%d%d",&n,&k);
for(int i=,x,y;i<=k;i++)
{
scanf("%d%d",&x,&y);
mp[make_pair(x,y)]=;
} p=*+*(n-)*+(n-)*(n-)/*;
q=*+*(n-)*+(n-)*(n-)*;
for(map<pii,bool>::iterator it=mp.begin();it!=mp.end();it++)
{
int x=((*it).first).first;
int y=((*it).first).second;
if(x+y>=n-) p-=check(x,y);
q-=check(x,y); for(int i=;i<;i++)
{
int nxtx=x+dx[i];
int nxty=y+dy[i];
if(check(nxtx,nxty)> && mp.count(make_pair(nxtx,nxty))==)
{
if(nxtx+nxty>=n-) p--;
q--;
}
}
} int g=gcd(p,q);
printf("Case #%d: %d/%d\n",kase,p/g,q/g);
}
}
HDU 6229 - Wandering Robots - [概率题]的更多相关文章
- HDU 6229 Wandering Robots(2017 沈阳区域赛 M题,结论)
题目链接 HDU 6229 题意 在一个$N * N$的格子矩阵里,有一个机器人. 格子按照行和列标号,左上角的坐标为$(0, 0)$,右下角的坐标为$(N - 1, N - 1)$ 有一个机器人, ...
- hdu6229 Wandering Robots 2017沈阳区域赛M题 思维加map
题目传送门 题目大意: 给出一张n*n的图,机器人在一秒钟内任一格子上都可以有五种操作,上下左右或者停顿,(不能出边界,不能碰到障碍物).题目给出k个障碍物,但保证没有障碍物的地方是强联通的,问经过无 ...
- HDU-6229 ICPC-沈阳M- Wandering Robots 概率
HDU - 6229 题意: 在一个n*n的地图中,有一个初始在(0,0)位子的机器人,每次等概率的向相邻的格子移动或者留在原地.问最后留在格子(x,y)(x+y>=n-1)的地方的概率. 思路 ...
- HDU 4465 - Candy(概率与数学优化)
2012成都Regional的B题,花了一个小时推出了式子,但是搞了好久发现都控制不了精度,后来突然想到组合数可以用log优化,改了之后就AC了 比较水的概率题 #include <stdio. ...
- ACM-ICPC 2017 沈阳赛区现场赛 M. Wandering Robots && HDU 6229(思维+期望)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6229 参考题解:https://blog.csdn.net/lifelikes/article/det ...
- HDU 5985/nowcoder 207D - Lucky Coins - [概率题]
题目链接:https://www.nowcoder.com/acm/contest/207/D 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5985 ...
- HDU 5245 Joyful(概率题求期望)
D - Joyful Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit S ...
- HDU 2843 I Will Win(概率题?,怨念颇深,简单)
题目 真不想说什么,,,这神题真讨厌,,,多校的.. //又是一道神题... #include<stdio.h> #include<string.h> //最大公约数 int ...
- 【概率】【找规律】hdu6229 Wandering Robots
题意:一个机器人在正方形迷宫的左上角,迷宫里有些格子有障碍物,每一步机器人会等概率地向能走的格子转移(包含自身).问你无限长的时间之后,机器人处于矩形对角线的右下方的概率. 无限长时间意味着,起点没有 ...
随机推荐
- netstat使用--10个常用的命令
1.列出所有的端口 netstat -a 列出TCP协议的端口 netstat -at UDP协议的端口 netstat -au 2.列出处于监听状态的socket netstat - ...
- 浅谈MySQL备份字符集的问题
1 引子 MySQL备份时选择字符集是一个难题,特别是字符集不定的业务.mysqldump默认使用utf8,而官方也推荐使用utf8.但实际上,对于中文,部分相当一部分gbk编码字符没有对应的unic ...
- 关于MYSQL ERROR1045 报错的解决办法
**问题描述 **ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)或者ERROR ...
- struts2:struts.properties配置文件介绍及常量加载顺序
1. 背景 struts2框架中有两个核心配置文件,其中struts.xml文件主要负责管理应用中的action映射,以及该action包含的result定义等.除此之外,struts2框架还包括一个 ...
- [ci]jenkins server启动,通过jnlp的方式启动slave(容器模式)
jenkins server启动,通过jnlp的方式启动slave. java -jar jenkins.jar 配置jnlp端口--全局安全 配置云 配置项目 执行成功
- 彻底理解js中的闭包
闭包是js的一个难点也是它的一个特色,是我们必须掌握的js高级特性,那么什么是闭包呢?它又有什么用呢? 我们都知道,js的作用域分两种,全局和局部,基于我们所熟悉的作用域链相关知识,我们知道在js作用 ...
- What is the name of the “-->” operator?(Stackoverflow)
Question: After reading Hidden Features and Dark Corners of C++/STL on comp.lang.c++.moderated, I wa ...
- SILK 预测模块分析
SILK是一种新结构的基于噪声整形量化算法的编解码框架.不同于类CELP的AMR,EVRC,G729,Speex等标准. 类CELP的结构都是以码本激励为量化框架的编码器.但是这里并不讨论NSQ结构和 ...
- Android Launcher分析和修改11——自定义分页指示器(paged_view_indicator)
Android4.0的Launcher自带了一个简单的分页指示器,就是Hotseat上面那个线段,这个本质上是一个ImageView利用.9.png图片做,效果实在是不太美观,用测试人员的话,太丑了. ...
- 嵌入式开发之hi3519---GPIO 按键驱动
摸索了一个星期,终于把海思HI3515开发板的按键中断程序搞出来了,hi3515的核心芯片与网上例子较多的s3c之类的有一些区别,以至于浪费了好些时间去琢磨.管脚配置方式不一样,中断的使用情况也不一样 ...