[dp+期望]Discovering Gold

参考博客:https://www.cnblogs.com/daydayupacm/p/5788115.html

题意

现在有n个格子,每个格子上都有一定的黄金值;还有一个色子(1-6)。起始位置站在格子1上面,若每次投掷色子得到数x,x+i<=n(i表示现处位置的格子编号),则可以到达(x+i)格子上;反之,再进行一次投掷。问:到达标号为n的格子上面,得到黄金的期望值是多少?
期望
一件不确定的事件有确定的所有结果,把第一种的结果值记为s1,它发生的概率记为p1,第二种结果值记为s2,它发生的概率为p2,… 第n种结果值记为sn,它发生的概率记为pn … 那么期望值 Ei= s1p1 + s2p2 +… + sn*pn + …
举例分析:

以第三个例子为例:

3

3 6 9

若我们现处在格子1,那么E1=3+61/2+91/2

(既然我们已经处在格子1了,1格子的黄金我们确定可以拿走了。剩下只有两种情况,要么到达格子2,要么到达格子3,所以两者概率分别为1/2。剩下的情况同理)
关于这道题为什么从后向前求:
已知只能是必定到达最后一个格子。所以要从已知走向位置就是逆着求的

#include <bits/stdc++.h>
#define eps 1e-10
using namespace std;
const int N = 1e3;

double dp[N];
int main()
{
   
	int t,cnt=0,num;
	scanf("%d", &t);
	while(t--) {
   
		int n;
		scanf("%d", &n);
		
		for(int i=1; i<=n; i++) 
		{
   
			scanf("%d", &num);
			dp[i] = num; //init
		}
		for(int i=n-1; i>=1; i--)
		{
   
			int x=min(6, n-i);    //have 6 sides
			for(int j=1; j<=x; j++)
			{
   
				dp[i]+=dp[i+j]*1.0/x;    //从后往前 
			}
		}
		printf("Case %d: %.7lf\n",++cnt, dp[1]+eps);
	}
	return 0;
 } 
全部评论

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
9937次浏览 92人参与
# 你的实习产出是真实的还是包装的? #
1793次浏览 41人参与
# 米连集团26产品管培生项目 #
5802次浏览 214人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7494次浏览 43人参与
# 简历第一个项目做什么 #
31591次浏览 332人参与
# 重来一次,我还会选择这个专业吗 #
433398次浏览 3926人参与
# MiniMax求职进展汇总 #
23895次浏览 308人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187025次浏览 1122人参与
# 牛客AI文生图 #
21414次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152310次浏览 887人参与
# 研究所笔面经互助 #
118882次浏览 577人参与
# 简历中的项目经历要怎么写? #
310120次浏览 4197人参与
# AI时代,哪些岗位最容易被淘汰 #
63489次浏览 806人参与
# 面试紧张时你会有什么表现? #
30490次浏览 188人参与
# 你今年的平均薪资是多少? #
213034次浏览 1039人参与
# 你怎么看待AI面试 #
179917次浏览 1237人参与
# 高学历就一定能找到好工作吗? #
64317次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76452次浏览 374人参与
# 我的求职精神状态 #
448008次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363299次浏览 2637人参与
# 腾讯音乐求职进展汇总 #
160600次浏览 1111人参与
# 校招笔试 #
470578次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务