LightOJ1030 Discovering Gold(概率DP)
题目大概说一个1×n的格子,每个格子都有一定的黄金,起点在1,终点在n,通过投掷6面骰子前进与骰子点数一样的步数,如果会超过n就重新投,每到一个格子就获得其中的黄金。问到达n能得到的黄金数目的期望。
求概率是正推,求期望是逆推。。容我慢慢体会。。
期望:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
double d[];
int main(){
int t,n,a[];
scanf("%d",&t);
for(int cse=; cse<=t; ++cse){
scanf("%d",&n);
for(int i=; i<=n; ++i){
scanf("%d",a+i);
}
memset(d,,sizeof(d));
d[n]=a[n];
for(int i=n-; i>=; --i){
int k=min(,n-i);
for(int j=; j<=k; ++j){
d[i]+=(d[i+j]+a[i])/k;
}
}
printf("Case %d: %f\n",cse,d[]);
}
return ;
}
也可以先求到每个格子的概率,然后概率×黄金数就是期望:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
double d[];
int main(){
int t,n,a[];
scanf("%d",&t);
for(int cse=; cse<=t; ++cse){
scanf("%d",&n);
for(int i=; i<=n; ++i){
scanf("%d",a+i);
}
memset(d,,sizeof(d));
d[]=;
for(int i=; i<n; ++i){
int k=min(,n-i);
for(int j=; j<=k; ++j){
d[i+j]+=d[i]/k;
}
}
double res=;
for(int i=; i<=n; ++i) res+=d[i]*a[i];
printf("Case %d: %f\n",cse,res);
}
return ;
}
LightOJ1030 Discovering Gold(概率DP)的更多相关文章
- LightOJ 1030 - Discovering Gold - [概率DP]
题目链接:https://cn.vjudge.net/problem/LightOJ-1030 You are in a cave, a long cave! The cave can be repr ...
- LightOj-1030 Discovering Gold (期望DP)
You are in a cave, a long cave! The cave can be represented by a 1 x N grid. Each cell of the cave c ...
- Light OJ 1030 - Discovering Gold(概率dp)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1030 题目大意:有一个很长的洞穴, 可以看做是1-n的格子.你的起始位置在1的 ...
- LightOJ 1030 Discovering Gold (概率/期望DP)
题目链接:LightOJ - 1030 Description You are in a cave, a long cave! The cave can be represented by a \(1 ...
- LightOj 1030 - Discovering Gold(dp+数学期望)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1030 题意:在一个1*n 的格子里,每个格子都有相应的金币数,走到相应格子的话,就会得 ...
- LightOJ1030 Discovering Gold
题目链接:https://vjudge.net/problem/LightOJ-1030 知识点: 概率与期望 解题思路: 设某一个点 \(i\) 能到达的点的个数为 \(x\),其上有金 \(g\) ...
- LightOJ - 1030 Discovering Gold —— 期望
题目链接:https://vjudge.net/problem/LightOJ-1030 1030 - Discovering Gold PDF (English) Statistics For ...
- [LOJ 1030] Discovering Gold
B - Discovering Gold Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu ...
- 1030 - Discovering Gold
1030 - Discovering Gold PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 M ...
随机推荐
- php面试题之三——PHP网络编程(高级部分)
三.PHP网络编程 [!!!]1.禁用COOKIE后SEESION还能用吗?(51.com笔试题) 可以,COOKIE和SESSION都是用来实现会话机制的,由于http协议是无状态的,所以要想跟踪一 ...
- CameraFacingBillboard
原地址:http://www.cnblogs.com/88999660/ 描述 这个脚本使得它被连接到配合本身相机的对象.这对于要经常面对镜头,并以同样的方式了,因为它是有用的广告牌. 用法 将这个脚 ...
- [BZOJ3872][Poi2014]Ant colony
[BZOJ3872][Poi2014]Ant colony 试题描述 There is an entrance to the ant hill in every chamber with only o ...
- HDOJ 1162
Eddy's picture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- 原创:分享asp.net伪静态成目录形式iis如何设置
服务器租用详解asp.net伪静态成目录形式iis如何设置: 一.首先介绍一下asp.net伪静态成html后缀iis如何设置的 iis6 伪静态 iis配置方法 图解 1.右键点击 要设置网站的网站 ...
- linux 下如何查看和踢除正在登陆的其它用户 ==>Linux下用于查看系统当前登录用户信息的4种方法
在linux系统中用pkill命令踢出在线登录用户 由于linux服务器允许多用户登录,公司很多人知道密码,工作造成一定的障碍 所以需要有时踢出指定的用户 1/#who 查出当前有那些终端登录(用 ...
- 【OpenStack】OpenStack系列2之KeyStone详解
源码下载.依赖安装 参考:http://www.oschina.net/question/565065_66271 https://github.com/yongluo2013/osf-opensta ...
- 【SpringMVC】SpringMVC系列7之POJO 对象绑定请求参数值
7.POJO 对象绑定请求参数值 7.1.概述 Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值.而且支持级联属性.如:dept.deptId.dept ...
- Select Top在不同数据库中的使用
1. oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FIRST N * FROM TABLE1 3. D ...
- Java入门学习知识点汇总
Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...