uva 10056 - What is the Probability ?(概率)

本博客详细介绍了如何解决uva10056-WhatistheProbability问题,该问题是关于计算在n个人轮流丢色子的情况下,第m个人获胜的概率。通过编程实现并提供了解题思路。
部署运行你感兴趣的模型镜像

题目连接:uva 10056 - What is the Probability ?


题目大意:给出n和p以及m,表示有n个人在丢色子, 谁先丢到某个值就表示胜利,每个人丢到的胜利数值的概率都为p,问第m个人获胜概率。


解题思路:因为n个人可以轮流丢色子,所以要自己定一个下限,而且以为人数比较多,每次并不需要将m以外的人都考虑进去,可以默认为没有丢到胜利的数值。


#include <stdio.h>
const double tmp = 1e-7;

int main () {
	int cas, n, aid;
	double p, q;
	scanf("%d", &cas);
	while (cas--) {
		scanf("%d%lf%d", &n, &p, &aid);
		double ans = 0, c = p, q = 1;

		for (int i = 1; i <= n; i++) {
			if (i < aid) c *= (1 - p);
			q *= (1 - p);
		}

		while (c > tmp) {
			ans += c;
			c *= q;
		}
		printf("%.4lf\n", ans);
	}
	return 0;
}


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 使用 `statsmodels` 中的 `probplot` 方法绘制 P-P 图 在统计分析中,P-P 图(Probability-Probability Plot)用于比较数据的累积概率与理论分布的累积概率之间的关系。如果数据符合指定的理论分布,则图中的点应接近对角线 [^2]。 虽然 `scipy.stats.probplot` 主要用于生成 Q-Q 图,但 `statsmodels.graphics.gofplots` 模块提供了更灵活的 `ProbPlot` 类,可以方便地绘制 P-P 图。以下是使用 `statsmodels` 实现 P-P 图的具体方法。 #### 示例代码: ```python import statsmodels.api as sm import matplotlib.pyplot as plt import numpy as np # 生成一组正态分布的数据 np.random.seed(0) data = np.random.normal(loc=0, scale=1, size=100) # 创建 ProbPlot 对象 pp = sm.ProbPlot(data) # 绘制 P-P 图 fig = pp.ppplot(line='45') plt.title("P-P Plot of Normal Distribution") plt.xlabel("Theoretical Probabilities") plt.ylabel("Sample Probabilities") plt.show() ``` 上述代码中,首先通过 `sm.ProbPlot` 创建一个包含数据的 `ProbPlot` 对象,并调用其 `ppplot` 方法绘制 P-P 图。参数 `line='45'` 表示在图上添加一条 45 度参考线,帮助判断数据是否符合理论分布 [^2]。 #### 与其他分布结合使用: 除了标准正态分布,还可以将数据与其它理论分布进行比较。例如,若想检验数据是否符合伽玛分布,可按如下方式操作: ```python from scipy.stats import gamma # 生成一组伽玛分布的数据 data_gamma = gamma.rvs(a=2.0, size=100) # 创建 ProbPlot 对象并指定分布 pp_gamma = sm.ProbPlot(data_gamma, dist=gamma, distargs=(2.0,)) # 绘制 P-P 图 fig = pp_gamma.ppplot(line='45') plt.title("P-P Plot of Gamma Distribution") plt.xlabel("Theoretical Probabilities") plt.ylabel("Sample Probabilities") plt.show() ``` 在此示例中,`dist=gamma` 指定了理论分布为伽玛分布,`distargs=(2.0,)` 提供了伽玛分布所需的形状参数 [^2]。 #### 与 Q-Q 图的区别: Q-Q 图通过比较样本分位数和理论分布的分位数来判断数据是否符合某种分布,而 P-P 图则比较的是累积概率。因此,在某些情况下,P-P 图可能对尾部行为更为敏感,而 Q-Q 图在整体分布拟合方面表现更好 [^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值