A Dangerous Maze LightOJ - 1027
这题意真是...
题意:你在一个迷宫里,有一些门,每个门有一个参数x,如果为正表明你进入门后可以花x的时间出去,如果为负表明你进入门后可以花-x的时间回到出发的地方。每次回到出发的地方之后,不能记得之前的操作,因此每次你到这个地方,选择每个门的概率都是相等的。求出去的期望时间。
方法:
解一个期望方程即可。
走每个门概率都是1/n。设期望时间为t,对于某个门,设参数为x,如果x为正的,那么走这个门出去的期望时间是x,对总期望的贡献是1/n*x;如果x是负的,那么走这个门之后出去的期望时间就是在这个门里面浪费的时间(-x)再加上t,对总期望的贡献就是1/n*(t-x)。那么就可以列出方程,手算一下就行。
例如:
3个门,参数分别为3,-6,-9
1/3*3+1/3*(x+6)+1/3*(x+9)=x
1/3*3+1/3*x+1/3*6+1/3*x+1/3*9=x
(1-1/3*2)x=1/3*(3+6+9)
x=18
3个门,参数分别为3,-30,-60
3 -30 -60
1/3*3+1/3*(x+30)+1/3*(x+60)=x
x=91
2个门,参数分别为-30,-60
1/2*(x+30)+1/2*(x+60)=x
x=inf
那么,设a2为负值的数量,a1为所有参数绝对值之和
1/n*a1=(1-1/n*a2)x
a1/n=(1-a2/n)x
x=a1/n/(1-a2/n)=a1/(n*(1-a2/n))=a1/(n-a2)
解完方程之后就很简单了...用奇怪的方法算一下a1和a2就行...
错误记录(本地):题意杀,把题意当成了“如果是正的,在开始的x分钟不能出去,之后就能出去;如果是负的,则相反”
#include<cstdio>
#include<algorithm>
using namespace std;
int n,a1,a2,a3,T,TT;
int main()
{
int i,t;
scanf("%d",&T);
for(TT=;TT<=T;TT++)
{
scanf("%d",&n);
a1=a2=;
for(i=;i<=n;i++)
{
scanf("%d",&t);
if(t<)
a2++,a1-=t;
else
a1+=t;
}
if(a2==n)
{
printf("Case %d: inf\n",TT);
continue;
}
a2=n-a2;
a3=__gcd(a1,a2);
printf("Case %d: %d/%d\n",TT,a1/a3,a2/a3);
}
return ;
}
A Dangerous Maze LightOJ - 1027的更多相关文章
- Day11 - F - A Dangerous Maze LightOJ - 1027
求期望注意期望的定义,这题我们可以分正负数情况,设所求期望为E 正数: 1/n*x_i 负数:1/n*(E+x_j) 此时概率为1/n,根据期望定义,他回到起点后出去的期望为E,花费回起点的时间为x_ ...
- LightOJ - 1027 A Dangerous Maze —— 期望
题目链接:https://vjudge.net/problem/LightOJ-1027 1027 - A Dangerous Maze PDF (English) Statistics For ...
- Lightoj 1027 - A Dangerous Maze 【期望】
1027 - A Dangerous Maze PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Y ...
- [LightOJ 1027] A Dangerous Maze
A Dangerous Maze You are in a maze; seeing n doors in front of you in beginning. You can choose any ...
- A Dangerous Maze (II) LightOJ - 1395(概率dp)
A Dangerous Maze (II) LightOJ - 1395(概率dp) 这题是Light Oj 1027的加强版,1027那道是无记忆的. 题意: 有n扇门,每次你可以选择其中一扇.xi ...
- LightOJ - 1395 A Dangerous Maze (II) —— 期望
题目链接:https://vjudge.net/problem/LightOJ-1395 1395 - A Dangerous Maze (II) PDF (English) Statistic ...
- [LOJ 1027] Dangerous Maze
A - A Dangerous Maze Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu ...
- LightOJ 1027 - A Dangerous Maze(求期望)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1027 题意:又一个迷宫,有n个门,每个门又一个值num,如果num>0 说明在n ...
- LightOj 1027 A Dangerous Maze【概率】
题目链接:http://www.lightoj.com/volume_showproblem.php? problem=1027 题意: 你面前有n个门,每一个相应一个数字,若为正xi.代表xi分钟后 ...
随机推荐
- MYiSAM和InnoDB引擎区别(mysql)
MyISAM 1.读取速度快. 2.※更新时锁整个表. 3.占用资源少. 4.适合读多写少的业务. 5.※不支持事务. InnoDB 1.读取速度一般. 2.※更新时锁当前行. 3.占用资源高. ...
- html 常用转译空格字符
本人有时候做表格强迫症,字段有的是3个字有的是4个字,也有两个字的,所有不对齐感觉看着难受, 因此需要用空格来让表头文字对齐,找到了下面几个常用的转译字符. 1. &160#;不断行的空白( ...
- spring cloud 启动报错-must be declared as an @AliasFor [serviceId], not [name].
项目加入FeignClient后再启动就报错,具体报错信息如下: org.springframework.core.annotation.AnnotationConfigurationExceptio ...
- codeforces B. Shower Line 解题报告
题目链接:http://codeforces.com/contest/431/problem/B 题目意思:给出5 * 5 的矩阵.从这个矩阵中选出合理的安排次序,使得happiness之和最大.当第 ...
- 「LuoguP4752」牧 Divided Prime(判质数
Description 给定一个数字 A,这个 A 由 a1,a2,⋯,aN相乘得到. 给定一个数字 B,这个 B 由 b1,b2,⋯,bM相乘得到. 如果 A/B 是一个质数,请输出YES,否则输出 ...
- Balancing Act(树的重心)
传送门 Balancing Act Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14070 Accepted: 593 ...
- 关于base64编码的原理及实现
我们的图片大部分都是可以转换成base64编码的data:image. 这个在将canvas保存为img的时候尤其有用.虽然除ie外,大部分现代浏览器都已经支持原生的基于base64的encode和d ...
- RESTEasy使用json返回的例子
创建一个json的model类: package com.howtodoinjava.model; import java.io.Serializable; import javax.xml.bind ...
- 02_使用httpurlconnection提交参数_get
- linux中vfork对打开文件的处理
vfork和fork fork()函数是拷贝一个父进程的副本,拥有独立的代码段 数据段 堆栈空间 然而vfork是共享父亲进程的代码以及代码段 vfork是可以根据需要复制父进程空间,这样很大程度的提 ...