【51nod 1639】【概率与期望】绑鞋带

2023-10-25 03:20
文章标签 51nod 概率 期望 鞋带 1639

本文主要是介绍【51nod 1639】【概率与期望】绑鞋带,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

绑鞋带

  • 题目
  • 解题思路
  • Code

51nod 1639 绑鞋带


题目

有n根鞋带混在一起,现在重复n次以下操作:随机抽出两个鞋带头,把它们绑在一起。可以想象,这n次之后將不再有单独的鞋带头,n条鞋带系成了一些环。那么有多大概率刚好所有这些鞋带只形成了一个环?

输入
仅一行,包含一个整数n (2<=n<=1000)。
输出
输出一行,为刚好成环的概率。
输入样例

2

输出样例

0.666667

解题思路

一根鞋带两个头,n个鞋带有 2n 个鞋带头
设当前已经打了 i 个结了,那么表示有 2i 个鞋带头绑在一起了
剩余 2n - 2i 个鞋带头
在剩余鞋带头中随便选定一个鞋带头,没有限制,那么剩余鞋带头有 2n - 2i - 1

最后变成一个环,那最后一个打结是 刚刚选出的鞋带头 和 这个鞋带头所在的集合 的 一个鞋带头 绑在一起
其实就是最后两个鞋带头绑在一个
但是,显而易见,在之前的打结中一定不能和自己的集合打结
在这里插入图片描述
同样显而易见,选中的鞋带头所在的集合 也只会有两个头,一个已选,另一个不能选
那么能选的就只有 2n - 2i - 2 个鞋带头
概率为 2 n − 2 i − 2 2 n − 2 i − 1 \frac{2n - 2i - 2}{2n - 2i - 1} 2n2i12n2i2,累乘即可

很快会发现这个公式实现上有问题,当 i = n - 1 时概率为0,所以不管怎么样最后概率都会变为0
当 i = n - 1 时只需要打最后一个结了,上面已经提到这种情况,最后只剩两个鞋头,如果保证前面一直是合法的,那么其实可以把问题转换为把鞋带绑成一条链。换言之,当前面都是合法时,绑最后一个结使鞋带变环是必然事件,概率为1


Code

#include <bits/stdc++.h>
#define ldb long doubleusing namespace std;int n;
ldb a, b, ans = 1.0;int main() {scanf("%d", &n);for(int i = 1; i < n; i ++) { // 记得去掉最后一个结a = 2 * n - 2 * (i - 1) - 2;b = 2 * n - 2 * (i - 1) - 1;ans = ans * a / b;}cout << ans;
}

这篇关于【51nod 1639】【概率与期望】绑鞋带的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279692

相关文章

hdu4865(概率DP)

题意:已知前一天和今天的天气概率,某天的天气概率和叶子的潮湿程度的概率,n天叶子的湿度,求n天最有可能的天气情况。 思路:概率DP,dp[i][j]表示第i天天气为j的概率,状态转移如下:dp[i][j] = max(dp[i][j, dp[i-1][k]*table2[k][j]*table1[j][col] )  代码如下: #include <stdio.h>#include

概率DP (由一道绿题引起的若干问题。目前为一些老题,蒟蒻的尝试学习1.0)

概率DP: 利用动态规划去解决 概率 期望 的题目。 概率DP 求概率(采用顺推) 从 初始状态推向结果,同一般的DP类似,只是经历了概率论知识的包装。 老题: 添加链接描述 题意: 袋子里有w只白鼠,b只黑鼠,A和B轮流从袋子里抓,谁先抓到白色谁就赢。A每次随机抓一只,B每次随机 抓完一只后 会有另外一只随机老鼠跑出来。如果两个人都没有抓到白色,那么B赢。A先抓,问A赢得概率。 w b 均在

2024国赛论文拿奖快对照这几点及评阅要点,勿踩雷区!(国赛最后冲刺,提高获奖概率)

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 2024“高教社杯”全国大学生数学建模竞赛已过去第三个夜晚,小伙伴们都累了没有,如果感到思维滞涩,别忘了稍作休息,放松一下自己,准备迎接国赛非常重要的收尾阶段——论文。 国赛这几天的努力最后都

HDU 4035 Maze (树状dp + 概率)

OJ题目 : click here ~~~ 题目分析 :这篇文章已经说的很好很好了 , 直接借用 ,猛戳~~ int n;double k[10002] , e[10002];double A[10002] , B[10002] , C[10002];vector<int> List[10002];bool dfs(int u , int father){if(List[u].s

前端自查【知识点】(高概率)2024最新版

HTML 如何理解 HTML 语义化 ? 仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性(让人更容易读懂)对SEO更加友好 (让搜索引擎更容易读懂) HTML有哪些内联元素和块状元素 ? 内联元素 宽度由内容决定 display :inline 若非替换元素,不能设置宽高 img,span , a 等 display :inline-bl

【校招面经】统计与概率基础 part2

十六、对偶问题 线性规划有一个有趣的特性,就是任何一个求极大的问题都有一个与其匹配的求极小的线性规划问题。 例;原问题为 MAX X=8*Z1+10*Z2+2*Z3 s.t. 2*Z1+1*Z2+3*Z3 〈=70 4*Z1+2*Z2+2*Z3 〈=80 3*Z1+ 1*Z3 〈=15 2*Z1+2*Z2 〈=50 Z1,Z2,Z3 〉=0 Z则其对偶问题为 MIN =70*Y

【HDU】 4089 Activation 概率DP

题目大意:Tomato要玩一个游戏,他需要排队,一开始这个队列共有N个人,而他在队列的第M个位置,每当有玩家尝试激活登陆游戏时, 会概率性触发四个事件。p1的概率注册失败,队列无变化。p2的概率连接失败,排在队首的人排到队尾。p3的概率成功,队首出队。p4的概率服务器 瘫痪,停止激活!这时候如果排在Tomato前面的人不足K个,那么他会很气愤。问 : Tomato排在第k位以内服务器瘫痪的概率。

【51nod】算法马拉松4 F 移数字 【快速求N!%P】【FFT】

传送门:【51nod】算法马拉松4 F 移数字 涉及知识点:多项式求逆,多项式除法,多点插值,阶乘取模。 对于N!%P,复杂度为 O(N−−√log2N−−√) O(\sqrt N \log^2\sqrt N)。 但常数巨大,和暴力算实际复杂度只相差常数= = 这个是可以扩展到组合数取模的~ my  code: my~~code: #include <stdio.h>#includ

人工智能之概率轮--5个灯泡的概率问题

题目:假设某电路由5个灯泡组装而成,连接方式如图所示。 假设5个灯泡在某时间范围内各自都能正常工作的概率都是p,且它们正常工作的事件是相互独立的,请问该电路在该时间范围内正常工作的概率是多少?   答: 第一种分析方法: 设2,3,1,4,5,分别为A,B,C,D,E。 那么有: P(A)=P(B)=P(C)=P(D)=P(E)=P 元件C是关键, 如果C正常工作,那么就会有

pyro.optim pyro ppl 概率编程 优化器 pytorch

最佳化¶ 该模块pyro.optim为Pyro中的优化提供支持。特别是,它提供了焦光性,用于包装PyTorch优化器并管理动态生成参数的优化器(参见教程SVI第一部分供讨论)。任何自定义优化算法也可以在这里找到。 烟火优化器¶ is _调度程序(【计算机】优化程序)→ 弯曲件[来源]¶ 帮助器方法,用于确定PyTorch对象是PyTorch优化器(返回false)还是包装在LRSchedu