UVa 11118 Prisoners Boxes and Pieces of Paper
📅 2026/7/14 6:56:37
👁️ 次浏览
题目描述有n nn个囚犯n nn为偶数和n nn个黑盒子每个盒子中随机放有一个囚犯的名字。游戏规则如下囚犯事先可以商量策略但不知道盒子的排列。狱警随机排列盒子然后依次叫囚犯进入房间A AA。每个囚犯最多可以打开n / 2 n/2n/2个盒子如果找到自己的名字则进入房间C CC无法与外界通信否则本轮立即失败。如果所有囚犯都找到了自己的名字本轮获胜全体释放。如果失败第二天重新开始新的一轮。求最优策略下一轮游戏获胜的概率。获胜所需轮数的期望值。题目分析这是一个经典的“囚犯与盒子”谜题100 prisoners problem \texttt{100 prisoners problem}100 prisoners problem。若囚犯随机选择盒子获胜概率为( 1 / 2 ) n (1/2)^n(1/2)n几乎为0 00。但存在一个巧妙的策略将获胜概率提高到约1 − ln 2 ≈ 0.30685 1 - \ln 2 \approx 0.306851−ln2≈0.30685。最优策略描述囚犯事先将盒子从1 11到n nn编号每个人也有一个唯一的编号例如从1 11到n nn。当囚犯i ii进入房间时他首先打开编号为i ii的盒子查看里面的名字假设名字对应编号j jj。然后他打开编号为j jj的盒子以此类推直到找到自己的名字或打开n / 2 n/2n/2个盒子为止。这相当于将盒子视为一个映射f : { 1 , … , n } → { 1 , … , n } f: \{1,\dots,n\} \to \{1,\dots,n\}f:{1,…,n}→{1,…,n}其中f ( k ) f(k)f(k)表示第k kk个盒子中放的是哪个囚犯的名字。由于名字互不相同这个映射是置换 \texttt{置换}置换permutation \texttt{permutation}permutation。每个囚犯i ii从i ii出发沿着置换的边i → f ( i ) → f ( f ( i ) ) → ⋯ i \to f(i) \to f(f(i)) \to \cdotsi→f(i)→f(f(i))→⋯行走寻找自己。获胜条件囚犯i ii能成功找到自己的名字当且仅当i ii所在的循环长度≤ n / 2 \le n/2≤n/2。因为沿着循环走最多走完整个循环就会回到i ii而i ii允许走n / 2 n/2n/2步所以只要循环长度不超过n / 2 n/2n/2就能找到。因此所有囚犯都成功⟺ \iff⟺置换中不存在长度大于n / 2 n/2n/2的循环。失败概率计算随机置换中包含一个长度恰好为k kk的循环的概率是多少长度为k kk的循环有( k − 1 ) ! (k-1)!(k−1)!种内部排列选择k kk个元素有( n k ) \binom{n}{k}(kn)种方式剩余n − k n-kn−k个元素可任意排列( n − k ) ! (n-k)!(n−k)!种。所以包含一个特定长度为k kk的循环的排列数为( n k ) ⋅ ( k − 1 ) ! ⋅ ( n − k ) ! n ! k \binom{n}{k} \cdot (k-1)! \cdot (n-k)! \frac{n!}{k}(kn)⋅(k−1)!⋅(n−k)!kn!因此随机排列中存在一个长度为k kk的循环的概率为1 / k 1/k1/k注意这里“存在”指的是某个特定循环实际上要小心不同k kk的循环可能同时存在但长度 n/2 的循环至多只有一个因为两个这样的循环长度和 n不可能。所以长度为k n / 2 k n/2kn/2的循环存在的概率恰好是1 / k 1/k1/k。于是P lose ∑ k n / 2 1 n 1 k P_{\text{lose}} \sum_{k n/2 1}^{n} \frac{1}{k}Plosekn/21∑nk1获胜概率P win 1 − ∑ k n / 2 1 n 1 k P_{\text{win}} 1 - \sum_{k n/2 1}^{n} \frac{1}{k}Pwin1−kn/21∑nk1期望轮数每一轮是独立的获胜概率为P win P_{\text{win}}Pwin因此获胜所需轮数服从几何分布期望为E 1 P win E \frac{1}{P_{\text{win}}}EPwin1参考代码// Prisoners Boxes and Pieces of Paper// UVa ID: 11118// Verdict: Accepted// Submission Date: 2026-06-03// UVa Run Time: 0.000s//// 版权所有C2026邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;intmain(){intT;scanf(%d,T);for(intcaseNo1;caseNoT;caseNo){intn;scanf(%d,n);doubleloseProb0.0;// 累加长度大于 n/2 的循环的概率for(intkn/21;kn;k)loseProb1.0/k;doublewinProb1.0-loseProb;doubleexpectedRounds1.0/winProb;// 输出精度保证 8 位小数printf(Case #%d: %.8f %.8f\n,caseNo,winProb,expectedRounds);}return0;}
题目描述
在圣若昂节期间,人们会放飞天灯。给定 LLL 个大天灯和 SSS 个小天灯的位置(二维平面上的点),需要统计有多少个小天灯位于任意三个大天灯构成的三角形内部或边界上。
输入包含多个测试用例。对于每个测试用例࿰…
📅 2026/7/14 6:56:37
彻底告别60帧限制:《原神》帧率解锁工具完全指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock
想要在《原神》中体验更流畅的战斗画面吗?genshin-fps-unlocker这…
📅 2026/7/14 6:56:37
1. 为什么选择L9958与STM32G474RE组合?在电机控制领域,硬件选型直接决定了系统性能天花板。L9958作为意法半导体专为汽车级应用设计的H桥驱动器,其峰值输出电流可达5A,配合STM32G4系列MCU的高精度定时器,能实现传统方案…
📅 2026/7/14 6:56:37
1. 这不是又一个“理财App”,而是一套可审计、可复现、可嵌入工作流的个人资产看板你有没有过这种体验:打开券商APP,持仓列表里密密麻麻几十只股票、ETF、基金,但净值变动曲线却像心电图一样跳来跳去;想对比自己组合和…
📅 2026/7/14 8:04:57
useWallet() API全解析:掌握钱包状态管理与交易追踪 【免费下载链接】use-wallet 👛 useWallet() All-in-one solution to connect a dapp to an Ethereum provider. 项目地址: https://gitcode.com/gh_mirrors/us/use-wallet
作为以太坊DApp开发…
📅 2026/7/14 8:04:57
MAS-CN激活原理深度剖析:Windows激活机制的技术内幕 【免费下载链接】mas-cn Windows 和 Office 激活工具 MAS (Microsoft-Activation-Scripts) 的汉化版 项目地址: https://gitcode.com/gh_mirrors/ma/mas-cn
MAS-CN作为一款开源的Windows与Office激活工具&…
📅 2026/7/14 8:04:57
1. 项目概述:TMC7300与PIC18F2685的电机控制方案 有刷直流电机凭借其结构简单、控制方便和成本优势,在工业自动化、消费电子和机器人领域广泛应用。然而传统驱动方案存在效率低、噪声大、稳定性差等问题。我们采用TMC7300电机驱动芯片搭配PIC18F2685微控…
📅 2026/7/14 8:04:57
1. AI学习能力的本质突破 "做错题"到"举一反三"的跨越,本质上反映了AI系统从模式匹配到概念理解的质变。传统监督学习就像学生死记硬背例题,而现代AI的进化更接近人类的学习方式——通过错误修正构建知识体系。 2012年AlexNet在Ima…
📅 2026/7/14 8:04:57
说实话,刚看到“_付小姐在成都geo”这几个字的时候,我脑子里全是那种千篇一律的网红滤镜照。满屏的粉色、鲜花、还有摆拍精致的川菜。但我真的去了一趟,发现事情没那么简单。很多人问,这地方到底值不值得专门跑一趟?今天我不讲那些虚头巴脑的营销词,就聊聊我这两小时的真…
📅 2026/7/14 8:04:22
从“创始人投影”到“真理映射”——大语言模型认知本质的哲学批判与范式重构
摘要
当前全球主流大语言模型(LLMs)在技术指标上持续突破,却在认知本质上陷入了一种根本性的“搞反”状态:它们本应成为人类超越自身认知局限的“传…
📅 2026/7/14 0:00:05
Hadoop 3.2.2 JDK 21 Windows开发环境全流程实战指南对于需要在Windows环境下进行大数据开发的Java/Scala开发者来说,搭建一个本地Hadoop开发环境是入门的第一步。本文将带你从零开始,完成Hadoop 3.2.2与JDK 21的环境搭建,并实现一个完整的M…
📅 2026/7/14 0:00:05
1. 项目概述:为什么你需要Boost库? 如果你用C写过一些项目,尤其是涉及到网络、并发、文件系统或者需要处理一些复杂数据结构时,大概率会听过或者用过Boost库。它不是C标准库的一部分,但它在C社区的地位,几…
📅 2026/7/14 0:00:05
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/14 6:35:02
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/13 6:21:22
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/14 7:15:18
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/13 3:29:47
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/13 19:47:36
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/13 9:07:16