A Dangerous Maze(概率与期望(求时间的期望))
来源:互联网 发布:网络买鞋子怎么买 编辑:程序博客网 时间:2024/06/05 11:28
【题目来源】:https://cn.vjudge.net/problem/LightOJ-1027
【题意】
处在一个迷宫里,面前有n扇门,每一扇都可能带离你走出迷宫,若能带离,那么会花费一个时间值,表示为正值, 若不能带离,那就是返回到初始的位置,也会花费一个时间,表示为负值,问,若是能够走出迷宫,需要花费时间的期望值。
【思路】
这是我做的第一道概率与期望题,起初感觉并不是多好理解,但是也要坚持。翻了二十多篇博客,先把两篇比较好的进行分享:
http://blog.csdn.net/chenzhenyu123456/article/details/47720573
http://blog.csdn.net/catglory/article/details/50757654
假设能走出去的时间期望值为E。
每一步有两种选择:
1.当前部可以出去:
期望为:1/n*t
2.当前部不可以出去,回到原点,然后再加上出去的期望:
期望为:1/n*t+1/n*E
设所有可以将你传送出去的门的时间值 总和为sum1,所有可以将你传送回去的门的时间值 总和为sum2。
设所有可以将你传送出去的门的数目为door1,所有可以将你传送回去的门的数目为door2。
得:
E=1/n*sum1+1/n*(sum2+door2*E)
化简得:
E = (sum1 + sum2) / (n-door2)。
当然,n-door2==0无解,输出inf。
【代码】
#include<iostream>using namespace std;int gcd(int a,int b){ if(b==0) return a; else return a=gcd(b,a%b);}int main(){ int T,t=1; cin>>T; while(T--) { int n; cin>>n; int sum1=0; int sum2=0; int x; int door=0; for(int i=0;i<n;i++) { cin>>x; if(x<0) { sum2+=(-x); door++; } else sum1+=x; } if(n-door==0) { cout<<"Case "<<t++<<": inf"<<endl; } else { int a=n-door; int b=sum1+sum2;// cout<<a<<" "<<b<<endl; int res=gcd(a,b); cout<<"Case "<<t++<<": "<<b/res<<"/"<<a/res<<endl; } }}
阅读全文
0 0
- A Dangerous Maze(概率与期望(求时间的期望))
- light oj A Dangerous Maze(概率dp求期望)
- LightOJ-1027-A Dangerous Maze(概率/期望)
- LightOJ 1027 - A Dangerous Maze (期望)
- 【LightOJ 1027】A Dangerous Maze(期望)
- [LightOJ 1027] A Dangerous Maze (概率与期望)
- Lightoj 1027 A Dangerous Maze 概率期望
- lightOJ 1027 A Dangerous Maze 概率&期望
- 【概率&数学期望】A Dangerous Maze LightOJ
- A Dangerous Maze ( 期望 )
- 7_4_A题 A Dangerous Maze题解 [Light oj 1027](求期望)
- light OJ 1027 A Dangerous Maze (期望)
- light oj 1027 A Dangerous Maze(期望)
- LightOJ 题目1027 - A Dangerous Maze(期望)
- LightOJ1027---A Dangerous Maze (期望)
- LightOJ 1027 A Dangerous Maze 概率期望学习小记
- [HDU4035]Maze(概率与期望)
- Light OJ 1027 - A Dangerous Maze(求期望)
- 九度oj-1031-xxx定律
- 反射-通过反射获取私有构造方法并使用
- 分布式任务系统 tbschedule
- struct inode 和 struct file
- 第三十六天:如何手动安装tomcat6.0,并且配合环境变量
- A Dangerous Maze(概率与期望(求时间的期望))
- 排序算法之堆排序(js)
- Angular的核心
- 与内存管理相关的几个宏
- Redis 数据类型(二)
- Linux的链接文件及分区格式化
- 人脸对齐LBF(三)
- printk函数
- IDEA16上部署非maven项目 手动打包 在tomcat上的配置