LightOJ1030(数学概率与期望)

题意:

有一个直线的金矿,每个点有一定数量的金子;

你从0开始,每次扔个骰子,扔出几点就走几步,然后把那个点的金子拿走;

如果扔出的骰子超出了金矿,就重新扔,知道你站在最后一个点;

问拿走金子的期望值是多少;

首先我们假设你现在站在第i个点,且从这个点开始走;

那么这个点的期望p[i] = p[i  +1] /6  + p[i + 2] / 6 + p[i + 3] /6 + p[i + 4] / 6 + p[i + 5] / 6 + p[i + 6] / 6 + p[i];

p[i] 初值就是这个点的金子数量,意思就是这个点的期望,是往后有6种情况,每种的六分之一;

当然情况数少于6的时候要处理一下;

所以从最后一个点往前算一边,就能的的出答案;

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

const int N = 105;
double num[N];
double p[N];
int n;

int main () {
	int t;
	int cas = 1;
	scanf("%d",&t);
	while(t--) {
		scanf("%d",&n);
		for(int i = 0; i < n; i++) {
			scanf("%lf",&num[i]);
		}
		p[n - 1] = num[n - 1];
		for(int i =  n - 2; i >= 0; i--) {
			p[i] = num[i];
			int dis = 6;
			if(n - 1 - i < 6)
				dis = n - 1 - i;
			for(int j = 1; j <= dis; j++) {
				p[i] += (p[i + j] / dis);
			}
		}
		printf("Case %d: %.10lf\n",cas++, p[0]);
	}
}
时间: 2024-10-12 09:26:19

LightOJ1030(数学概率与期望)的相关文章

lightoj1038(数学概率与期望)

题意: 给出一个数字D 我们可以选择1-D中可以被D整除的数字,然后用D出得到一个新的数字D1: 然后在找所有D1的因子,用D1除,直到得到1: 问除的次数的期望值: 思路: d[i] 代表从i除到0的期望步数:那么假设i一共有c个因子(包括1和本身) d[i] = ( d[1] + d[a2] + d[a3] + d[a4] ..... + d[i] + c) / c; (加c是因为每一个期望值都会加1,因为多出一步才变成它) 把右边的d[i]移到左边就是: ( (c - 1) / c ) *

lightoj1079(数学概率与期望)

题意: 哈利波特要去抢银行; 现在给出一个概率p,和银行的个数n; 接下去给出每个银行可以抢到的钱,还有抢劫这个银行被抓的概率; 问在被抓的概率小于等于p的情况下,最多抢到多少钱; 思路: 首先我们把被抓的概率转化为可以逃跑的概率; 然后是一个01背包的思想; dp[j] 代表抢劫到 j 元钱,逃跑的概率; 那么dp[j] = max( ( dp[j - m[i]] ) * p[i]) 也就是不抢第i家银行(那么钱就是j - m[i]) 概率就是 dp[j - m[i]]  然后再抢了这家,那么

lightoj1104(数学概率与期望)

题意: 加入一年有n天; 那么至少有几个人,可以保证至少两个人同一天生日的概率大于等于0.5; 思路: 转化一下题意; 就是求所有人生日都不同的概率小于等于0.5(那么至少两个人同一天就是大于等于0,5); 加入一年365天.那么10个人全都不同天生日的概率就是 366/366 * 365/366 * 364/366 .... * 356/366; 就可以得到公式了; 所以我们累乘过去知道小于等于0.5;看累乘几个; #include<cstdio> #include<cstring&g

【dp概率与期望】pattern

这是一个比赛题 营销策略 (pattern.cpp/c/pas) [题目描述] W 记的儿童套餐会赠送一份小玩具,赠送的小玩具共有n 种.小朋友买了m 份儿童套餐,求收集齐n 种小玩具的概率.假设每份儿童套餐赠送的小玩具的种类是等概率随机的. [输入格式] 从pattern.in 中输入数据一行,两个整数n,m. [输出格式] 输出到pattern.out 中一个实数表示收集齐小玩具的概率,保留4 位小数. [样例输入] 2 3 [样例输出] 0.7500 [数据规模与约定] 对于10% 的数据

概率和期望类题目综合分析

先给出学习资料吧:kuangbin的博客:  https://www.cnblogs.com/kuangbin/archive/2012/10/02/2710606.html kuangbin的博客里面有3篇论文,讲的非常好,但是有点难(非常难),推荐全部打印下来 首先概率和期望类题目有哪几种做法呢? 用鬲融的总结的话有以下几种:直接计算(这样只要考验你的公式推理,一点代码都不需要)  动态规划的方法(也就是传说中的概率正着算,期望反着求)迭代的方法(其实我分不太清这样和动态规划的区别) 概率-

概率与期望dp相关

概率与期望dp 概率 某个事件A发生的可能性的大小,称之为事件A的概率,记作P(A). 假设某事的所有可能结果有n种,每种结果都是等概率,事件A涵盖其中的m种,那么P(A)=m/n. 例如投掷一枚骰子,点数小于3的概率为2/6=1/3. 如果两个事件A和B所涵盖的结果没有交集,那么P(A或B发生)=P(A)+P(B) 还是掷骰子 P(点数小于3或点数大于4)=2/6+2/6=2/3 如果A和B所涵盖的结果有交集 那么P(A或B发生)=P(A)+P(B)-P(A与B同时发生) P(点数小于3或点数

「总结」: 概率与期望

知识点: 概率与期望 知识归类: 数学 胡言乱语·前言 作为一名前后2000万的高清菜鸡(乱入了抱歉) 之前考试遇到概率立即跳,感觉概率的题目都不可做. 今天来死磕概率与期望啦. (可能概率与期望只是个开头.以后会陆续复习一些数学知识.) 另外就是,我写这东西自己复习用的哇,严谨性什么的…… 0/1:定义 定义函数$P(A)$表示A事件发生的可能性大小,称为概率测度. 则A是事件集合$F$的一个子集,并且所有事件$A$都可以看作是样本空间$\Omega$的一个子集,那么合法的三元组$(\Omeg

HDU 4870 Rating(概率、期望、推公式) &amp;&amp; ZOJ 3415 Zhou Yu

其实zoj 3415不是应该叫Yu Zhou吗...碰到ZOJ 3415之后用了第二个参考网址的方法去求通项,然后这次碰到4870不会搞.参考了chanme的,然后重新把周瑜跟排名都反复推导(不是推倒)四五次才上来写这份有抄袭嫌疑的题解... 这2题很类似,多校的rating相当于强化版,不过原理都一样.好像是可以用高斯消元做,但我不会.默默推公式了. 公式推导参考http://www.cnblogs.com/chanme/p/3861766.html#2993306 http://www.cn

【BZOJ-4008】亚瑟王 概率与期望 + DP

4008: [HNOI2015]亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special JudgeSubmit: 832  Solved: 515[Submit][Status][Discuss] Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个