很多人第一次看到这道题注意力都落在15 分钟上然后凭直觉报一个 0.5 或者 0.25。实际上这道约会问题的标准答案是7/16 0.4375它属于概率论里最经典的几何概型把两个人的到达时刻看成一个平面点把能见面翻译成平面上的一块区域最后用面积比出结果。这个思路一旦立住剩下的全是算术。但真正容易翻车的地方不在算术而在于题干里那句没写出来的每个人都等可能地在任意时刻到达。我见过太多人背下了 7/16被追问一句如果一个人 12:30 才到概率是多少就当场卡壳。这篇就把这道题从图形、假设、代码验证、一般化公式、变式、条件概率到现实偏差一层层拆开讲清楚适合刚学概率的读者也适合拿它练建模思维的从业者。1. 先给答案7/16 是怎么从一张正方形图里长出来的这道题的核心动作只有一步把时间这个一维量升维成平面上的坐标点。一旦完成这个转换概率就变成了面积比不再需要任何复杂的概率公式。我建议所有第一次接触几何概型的人都从画图开始而不是直接上积分——图形给你的直觉比公式牢靠得多。1.1 把到达时间变成平面上的一个点设甲到达的时刻距离 12:00 过了 x 分钟乙到达的时刻距离 12:00 过了 y 分钟。因为两人都可能在 12:00 到 13:00 之间的任意时刻出现所以 x 和 y 都落在 [0, 60] 这个区间里。把 (x, y) 作为平面上的一个点所有这些可能的点构成一个边长为 60 的正方形左下角是 (0,0)右上角是 (60,60)。关键在于均匀到达等价于这个点在正方形里均匀分布。均匀在这里的含义是落在任何一块区域里的概率正比于那块区域的面积。这个性质是整道题的地基后面所有推导都建立在它上面。举个类比你往一块正方形靶子上随手扔飞镖扔中某个区域的概率就是这个区域的面积占比——前提是每一处被扔中的可能性相同。于是两人相遇的概率就变成了随机点落在某个特定区域里的面积占比。问题从概率问题退化成了几何问题。1.2 那条 15 分钟宽的斜带子接下来刻画相遇这个条件。题目的规则是先到的人等后到的人等待上限 15 分钟超过 15 分钟还没来先到的人就走了。这意味着两人能见面当且仅当两人到达时刻的差不超过 15 分钟。用坐标写出来就是|x - y| ≤ 15。在平面上这是两条平行直线 y x 15 和 y x - 15 之间的那条斜带子以对角线 y x 为中心线宽度是 15 分钟沿坐标轴方向量。这条带子就是相遇区。带子被正方形的边裁掉了两端。在正方形内部这条带子的完整形状像一个被截断的长条从左上角附近斜穿到右下角附近。可以直接看出来正方形的左下角 (0,0) 附近有一个三角形不属于带子右上角 (60,60) 附近也有一个同样大小的三角形不属于带子。除去这两个角剩下的都是能见面的区域。1.3 用总减去空算更省事直接算带子的面积要做分段积分比较麻烦。算补集要简单得多。两个不相遇的角是等腰直角三角形直角顶点分别在 (0,0) 和 (60,60)两条直角边都落在正方形的边上。看左下角那个三角形它对应的是 x 很小、y 很大的情况边界条件是 y - x 15即 y x 15。这个三角形在 x 轴上的截距是 0 到 45因为当 y 最大取到 60 时x 最大只能到 45 才能满足 y x 15所以它的两条直角边长度都是60 - 15 45。面积是 45 × 45 / 2 1012.5。右上角那个三角形由对称性可知面积完全相同也是 1012.5。两个加起来是 2025。相遇区的面积就是 3600 - 2025 1575。概率 1575 / 3600 0.4375 7/16。用公式表达就是P 1 - (T - w)² / T²其中 T 60 是总时间窗口w 15 是等待时长。代入得 1 - 45² / 60² 1 - 2025/3600 1575/3600。这个过程心算就能完成不需要动笔。2. 三个没写在题干里、但你必须默认的假设很多人觉得这道题的难点是算面积其实不是。面积计算是最简单的一环。真正的难点在于题干给的信息是残缺的你必须自己补全三个假设才能动笔。而这三个假设一旦被替换答案立刻变样。这就是为什么同一道题在不同场合会被追问出完全不同的版本。2.1 均匀到达整个 60 分钟里每一秒都等可能题干只说约好 12:00 到 13:00 之间见面没说每个人具体怎么分布。用面积法求解时我们默认了 x 和 y 在 [0, 60] 上均匀分布。这个假设的现实含义是甲在 12:00 到 13:00 之间的任意时刻到达的可能性完全相同乙也一样。现实里这个假设通常不成立。约 12 点见面很多人会赶在 12:00 到 12:10 之间出现也可能有人因为吃午饭拖到 12:40。分布一旦偏离均匀面积法给出的 7/16 就不再是正确答案只能作为参考。如果你要在真实场景里估这个概率第一步该做的是估分布而不是套公式。不过有一点值得说明均匀假设在很多笔试和面试场景里是隐含约定出题人默认你会这么理解。缺省状态下按均匀处理没有错但你要知道自己用了一个假设而不是一个已知条件。2.2 相互独立两个人不打电话、不互相等第二个隐含假设是独立性甲的到达时刻不影响乙的到达时刻。两人没有实时沟通不会因为对方说我快到了而调整自己的出发时间。有了独立性(x, y) 才是一个在正方形里均匀分布的点。如果两人保持通话那就完全是另一个问题一旦允许沟通能否见面接近确定事件等待规则就形同虚设。这道题之所以有意思恰恰因为信息不通畅。用博弈论的语言说这是一个协调博弈双方只能靠事先约定的规则来提高见面的机会。2.3 边界上的等号≤15 还是 15 其实无所谓题干说不超过 15 分钟那么正好等 15 分钟算不算严格地讲|x - y| 15 是一条直线面积为零对最终概率没有影响。在连续分布下单点、单条线的概率都是 0取不取等号都不改变结果。这个细节经常被拿来当思维严谨性的考察点但它对答案毫无影响。真正需要注意的是另一种情况如果题目改成按分钟取整的离散模型边界就变得重要了因为这时每条线都有正概率。这个坑我们放在第 3 节里专门讲。提示判断边界是否重要的方法很简单——看它是连续的还是离散的。连续模型下边界测度为 0可以忽略离散模型下每一点都有质量必须逐一数清楚。3. 用代码把 7/16 跑出来蒙特卡洛的收敛与抖动解析解算出来之后最舒服的验证方式是写几行模拟代码跑一遍。这不是不相信数学而是模拟能帮你看清哪些环节是结构性的、哪些是巧合。当你改动一处假设解析公式可能要重新推半天模拟却只要改一行。3.1 二十行代码验证解析解思路很直白反复抽样两个 [0, 60] 上的均匀随机数判断差的绝对值是否不超过 15统计命中比例。下面是一个向量化版本跑一百万次大约一两秒import numpy as np rng np.random.default_rng(2024) def simulate(n1_000_000, T60.0, w15.0): x rng.uniform(0, T, n) y rng.uniform(0, T, n) hit np.abs(x - y) w return hit.mean(), hit.sum() p, k simulate() print(f命中次数 {k}, 估计概率 {p:.5f}) print(f解析解 {1575/3600:.5f})跑出来大概会在 0.4373 到 0.4378 之间浮动具体数值取决于随机种子。如果写成 for 循环逐次抽样逻辑一样速度会慢上百倍验证性质的工作没必要那样写。顺带说一个细节判断条件写成还是结果不会有可见差别因为浮点数恰好相等的情况几乎不可能出现。这从侧面印证了上面关于边界的讨论。3.2 为什么模拟值总在 0.4375 上下飘蒙特卡洛估计的误差是可以量化的。每次试验是一个伯努利事件成功率 p 0.4375n 次独立试验后估计值的标准差是 sqrt(p(1-p)/n)。代入 p(1-p) 0.2461试验次数 n标准差大致能达到的精度1 万0.0050小数点后两位10 万0.0016小数点后两到三位100 万0.0005小数点后三位1 亿0.00005小数点后四位这张表说明一件事想要多一位精度试验次数要翻一百倍。所以拿模拟去证明 7/16 是不现实的它只能佐证。想验证到小数点后三位一百万次足够想验证更精确的值应该回去检查解析推导。还有一个常见误区有人跑出 0.440 就以为解析解错了。0.440 距离 0.4375 差 0.0025对于十万次试验的模拟来说完全在正常波动范围内约 1.6 个标准差。判断模拟结果是否异常要拿标准差的倍数去比而不是凭感觉看小数点后几位。3.3 换成离散的整分钟会怎样现实里没人按12:07:23.451这种精度约时间。如果把模型改成两人都在 61 个整点时刻中随机选一个答案是多少这个问题我建议你亲手算一遍因为它的结果和连续模型的差异非常能说明问题。取时刻为 0, 1, 2, ..., 60共 61 个值总的组合数是 61² 3721。对每一个 x满足 |x - y| ≤ 15 的 y 的数量是 min(60, x15) - max(0, x-15) 1。分段统计x 从 0 到 15数量从 16 递增到 31x 从 15 到 45数量恒为 31x 从 45 到 60数量从 31 递减到 16。加总得 1651概率是 1651/3721 ≈0.4437比 0.4375 略大。如果用 0 到 59 这 60 个时刻总组合数为 3600逐段求和结果是 1620概率正好是0.45。两种离散化方式结果分别是 0.4437 和 0.45都不等于 0.4375。这不是算错了而是离散化把边界加厚了连续模型里 |x-y| 15 是一条零面积的线离散模型里它是一批有正概率的点对被算进了命中区。如果你的程序里出现这种差异先检查是不是把连续问题离散化了再去怀疑公式。4. 把 60 和 15 换成字母一般公式与几个常见变式把具体数字换成符号是检验自己是否真正理解一道题的标准动作。如果换掉 60 和 15 之后你还能立刻写出表达式说明你掌握的是方法如果必须重新画图重推说明你记住的是答案。4.1 一般公式 P (2Tw - w²)/T² 的推导设总时间窗口为 T等待时长为 w且 0 ≤ w ≤ T。相遇条件是 |x - y| ≤ w正方形边长为 T总面积 T²。不相遇的两个三角形直角边长都是 T - w各占 (T - w)² / 2合计 (T - w)²。于是P [T² - (T - w)²] / T² (2Tw - w²) / T²这个式子可以写成更直观的形式P w/T × (2 - w/T)。令 r w/T等待时长占总窗口的比例则 P r(2 - r)这是一条开口向下的抛物线在 r 1 时取到 1在 r 0.5 时等于 0.75在 r 0.25 时等于 0.4375。这个形式透露了一个重要信息概率对 w 不是线性的。等待时间翻倍概率并不会翻倍。r 从 0.25 涨到 0.5概率从 0.4375 涨到 0.75涨了约 0.31r 再从 0.5 涨到 0.75概率只涨到 0.9375涨幅降到 0.19。越往后越不划算。4.2 等待时间对照表从 5 分钟到 30 分钟固定 T 60把常见的等待时长都算一遍方便你直接拿去用等待时长 wr w/T概率 P小数5 分钟1/12115/1440.7986… 不对应为 575/360010 分钟1/61100/36000.305615 分钟1/41575/36000.437520 分钟1/32000/36000.555630 分钟1/22700/36000.75005 分钟那一栏的正确结果是 575/3600 ≈ 0.1597可以直接用公式 2×60×5 - 25 575 验证。从表里能读出一个反直觉的结论在这个模型下即使愿意等 15 分钟见面的概率还不到一半。原因是两人都不在中间时段到达这类情况占的比例相当大——比如一个人在 12:00 到、另一个人在 12:50 到这样的组合数量并不少。想要把概率提到 0.75等待时间得占到整个窗口的一半也就是 30 分钟。这个数字在现实里是不可接受的也解释了为什么约一个宽泛的时间窗口这种约定方式效率很低。4.3 两个人的到达窗口错开时会掉多少现实里经常出现这种约定甲 12:00 到 13:00 之间到乙 12:30 到 13:30 之间到。两个窗口错开半小时但都不是很确定。这时正方形变成了矩形问题性质变了。设甲的时刻 a ∈ [0, 60]乙的时刻 b ∈ [30, 90]做变量替换 b b - 30 ∈ [0, 60]。相遇条件是 |a - b - 30| ≤ 15即 b 落在 [a - 45, a - 15] 里。对每个 a符合的 b 在 [0, 60] 内的长度是a 15 时区间上界 a - 15 0落在 [0,60] 外的部分全部无效长度为 015 ≤ a ≤ 45 时下界 ≤ 0有效长度是 a - 1545 ≤ a ≤ 60 时下界在 [0, 15] 内上界在 [30, 45] 内有效长度恒为 30。积分∫(15→45)(a - 15)da ∫(45→60)30da 450 450 900。总面积仍是 3600概率 900/3600 0.25。错开半小时之后在同样等 15 分钟的前提下概率从 0.4375 掉到 0.25掉了将近一半。原因很直观甲早到的时候12:15 之前乙的窗口还没开始甲怎么等也等不到。这一段占掉了甲四分之一的可能到达时间白白浪费。这个变式有实际意义如果你和朋友的时间窗口天然错开先把窗口对齐比延长等待时间更划算。把乙的出发时间往前挪半小时概率能恢复到 0.4375相当于凭空多等了近 10 分钟的效果。4.4 非对称等待一方等 10 分钟、另一方等 20 分钟再换一个变式甲先到时只肯等 10 分钟乙先到时愿意等 20 分钟。这时的相遇区域不再是那条对称的斜带子而是两块宽度不同的区域拼起来的。条件是x y 时要求 y - x ≤ 10x y 时要求 x - y ≤ 20。上三角那块x y的面积对 x 积分 min(10, 60 - x)x ≤ 50 时取 10x 50 时取 60 - x。积分得 500 50 550。下三角那块x y的面积对 y 积分 min(20, 60 - y)y ≤ 40 时取 20y 40 时取 60 - y。积分得 800 200 1000。总面积 1550概率 1550/3600 ≈0.4306。有意思的地方在于10 和 20 的平均值是 15但结果比对称的 15 分钟情况0.4375略低。差得不多只有 0.007 左右原因是对称时两块区域在边界处的拼接更紧凑。这个结论说明让两人等一样长比一个人多等一个人少等要略好一点虽然优势很小实际意义有限。5. 条件概率与平均值被追问时最容易翻车的两个点这类题在笔试和面试里很少只问一个求概率就结束。最常见的追问是往条件概率方向走或者问平均等待时间。这两类问题都有陷阱而且陷阱的位置很隐蔽。5.1 已知 A 先到为什么不改变概率一个常见的追问已经知道甲先到他最终能等到乙的概率是多少直觉会告诉你应该比 0.4375 大因为甲既然先到了就一定会等而乙只要在 15 分钟内出现就行。但这个直觉是错的正确答案仍然是0.4375。理由很干净条件甲先到相当于把样本空间从整个正方形缩小到对角线以上的那个三角形面积是 1800。而相遇区域 |x - y| ≤ 15 恰好关于对角线 x y 对称它在那个三角形里占的面积正好是一半即 787.5。面积比 787.5/1800 0.4375。换句话说斜带子被对角线切成面积相等的两半这源于 x 和 y 的完全对称。这个等式是对称性送的礼物不是什么普遍规律。如果两人的分布不对称或者等待规则不对称这个结论立刻失效——比如上一节的 10 分钟对 20 分钟甲先到时等到乙的概率是 550/1800 ≈ 0.3056和 0.4306 差得很远。同样需要区分清楚的是另一种问法已知甲在 12:20 到达他见到乙的概率是多少这就变了。甲到达后乙的时刻必须落在 [5, 35] 这个区间里因为甲在 20 分往后等 15 分钟到 35 分往前推算 15 分钟是 5 分区间长度 30概率是 30/60 0.5比 0.4375 大。条件概率无条件0.4375已知甲先到没说具体时刻0.4375已知甲在 12:00 到达15/60 0.25已知甲在 12:20 到达30/60 0.5已知甲在 12:30 到达30/60 0.5已知甲在 12:50 到达25/60 ≈ 0.4167已知甲在 13:00 到达15/60 0.25这张表值得反复看知道谁先到和知道谁几点到是两种强度完全不同的信息。前者只给了序关系对概率毫无影响后者给了一个具体位置直接改变了条件分布。很多人在这两种问法之间混为一谈答得很自信但错得很干脆。表格里还有一个小规律甲在 12:15 到 12:45 之间到达时概率恒为 0.5因为等待窗口完全落在 [0, 60] 内部不会被边界裁掉。越靠近两端被裁掉的部分越多概率越低。5.2 若真的见了面平均等了多久另一个常见的追问见面成功的那些情况里先到的人平均等了多久这需要算条件期望。两人到达时刻之差的绝对值 d |x - y|在正方形上d 的密度函数是 f(d) 2(T - d)/T²这里 T 60。这个式子来自距离为 d 的等值线是两条线段总长度 2(T-d)再除以总面积。要算的是 E[d | d ≤ 15] E[d · 1{d≤15}] / P(d ≤ 15)。分母是 0.4375。分子是 ∫(0→15) d · 2(60 - d)/3600 dd展开后得 3.125。于是条件期望 3.125 / 0.4375 50/7 ≈ 7.14 分钟。这个结果还算好记见面成功的场合下先到的人平均只等了 7 分多钟。因为多数成功的情况是两人到达时间比较接近真正卡在 15 分钟边缘的情形贡献了一部分但主导的是小时间差。顺带可以算另一个数字不管见没见到两人到达时刻差的期望是 T/3 20 分钟。这 20 分钟里有 15 分钟是白等的超过 15 分钟的部分意味着见不到面这个对比挺能说明问题的。6. 现实里这个模型会怎么坏掉公式算得再漂亮现实里也不会真的按均匀分布走。我见过不少人把 7/16 当成一个真理往外讲比如我们约在整点之间见见到的概率只有 44%这话在特定前提下成立换个场景就完全不准了。知道模型会在哪里失效比记住答案更有用。6.1 人的到达从来不是均匀的真实的到达时间至少有三个特征一是偏向窗口开头约 12 点见面的人大量会集中在 12:00 到 12:15 之间二是偏向整点或半点12:15 这种时刻比 12:13 更受欢迎三是存在迟到尾部少数人会拖到很晚。这三点对概率的影响方向不同。前两点让两人的到达时间更聚集增加了见面的机会迟到尾部的存在又拉开了差距降低了机会。到底哪一边占上风必须靠数据说话不能拍脑袋。一个极端的例子可以说明均匀假设多重要假设甲一定在 12:00 到 12:20 之间到乙一定在 12:40 到 13:00 之间到。这时两人的时间差至少是 20 分钟永远超过 15 分钟概率是 0。同样的等待规则同样的总窗口概率从 0.4375 直接归零。窗口一样不代表机会一样这是建模时最容易被忽略的一点。6.2 换一个分布重跑模拟想知道非均匀分布下的概率最省事的办法是改模拟代码。下面这个例子假设两人的到达时间都集中在中段用标准差为 8 的正态分布模拟并裁剪到 [0, 60] 区间import numpy as np rng np.random.default_rng(7) n 2_000_000 a np.clip(rng.normal(30, 8, n), 0, 60) b np.clip(rng.normal(30, 8, n), 0, 60) print(f集中到达时的相遇概率: {np.mean(np.abs(a - b) 15):.4f})跑出来会落在0.8 附近比均匀分布的 0.4375 高出一大截。原因很直观两人的到达时刻都挤在中间一段时间差自然就小。这说明约定得越具体越容易见到——哪怕具体的时间本身并不准确只要双方对大概什么时候的认知一致效率就上来了。反过来如果经常有一方会迟到模拟里可以给其中一个人加一个右移的偏移量a np.clip(rng.normal(25, 8, n), 0, 60) # 通常准时 b np.clip(rng.normal(38, 10, n), 0, 60) # 习惯性晚一点 print(f一方习惯性迟到: {np.mean(np.abs(a - b) 15):.4f})这种情况下概率会掉到 0.5 上下。一个人的迟到习惯对见面的伤害远大于等待时间的延长——把等待时间从 15 分钟加到 20 分钟只能把概率从 0.4375 提到 0.5556而纠正一个平均迟到 13 分钟的坏习惯影响幅度是另一个量级。6.3 等待时长该设多少一个粗糙的成本视角理论上等待时间越长见面概率越高w 取到 T 时概率是 1。但等人的时间是有成本的所以这是个权衡问题不是单目标优化。粗略地建一个模型见面的收益记为 R每等一分钟的成本记为 c。给定等待时长 w见面的概率 P(w) w/T × (2 - w/T)见面的情况下平均等待时间大约是某个关于 w 的增函数。期望净收益大致是 P(w) × R 减去等待成本。当 w 从小往大增加时P(w) 的增长越来越慢抛物线而成本近似线性增长所以存在一个最优点。这个最优点具体在哪取决于 R 和 c 的比值——如果见面的价值很高多等一会儿无所谓如果只是随便碰个面等待超过十几分钟就该走了。这套分析当然很粗糙但它给了一个比凭感觉定 15 分钟更靠谱的思考框架等待时长应该和见面的价值 / 时间成本的比值挂钩而不是一个固定的数字。重要客户可以等半小时顺路碰头十分钟就够了。提示如果你只是想要一个经验数字在双方都在宽窗口内随机到达的前提下等待时长取窗口总长的 1/4 到 1/3 是性价比比较高的区间对应概率 0.44 到 0.56。再往上加每多一点概率都要付出不成比例的等待代价。7. 常见错误清单从算错面积到单位混用这道题的错误率相当高而且错误的类型很集中。我把见过的问题整理成一份清单你可以在自己算完之后对着检查一遍。这些问题看起来都是小失误但在笔试现场一个就足够让整道题归零。7.1 面积算成 45×45 的一半最常见的一种错误算出直角边是 45然后下意识地写 45 × 45 / 2 1012.5把这个数当成不相遇的总面积再用 1 减去 1012.5/3600 得到 0.71875。错在忘了有两个三角形。左下角和右上角各一块必须乘 2。正确的不相遇面积是 2025占总面积 3600 的 0.5625所以才有了 0.4375 这个答案。口诀记一下不相遇面积 (T - w)²不是一个三角形而是两个三角形拼起来的正方形。因为两个直角边为 (T-w) 的等腰直角三角形正好能拼成一个边长为 (T-w) 的正方形。用这个视角看公式 P 1 - (T-w)²/T² 就变得非常自然了。7.2 把带子宽度当成 30另一种错误把相遇条件的边界写成 |x - y| ≤ 30理由是两个人各有 15 分钟的等待加起来 30 分钟。这个逻辑听着有道理但混淆了时间差和各自等待时长两个概念。相遇条件只取决于时间差而这个差的上限就是单侧的等待时长 15 分钟。甲先到等 15 分钟意味着乙最多比甲晚 15 分钟到反过来乙先到也一样。所以边界始终是 15不是 30。如果把边界错写成 30算出来的是 1 - 900/3600 0.75正好是答案表里 w 30 的那一行。这个巧合说明什么说明**两人各等 15 分钟和时间差不超过 30 分钟在规则上并不等价**前者对应 |x-y| ≤ 15后者对应 |x-y| ≤ 30。只是两个错误恰好撞上了同一组数字容易让人自我确认。7.3 小时和分钟混着用最后这个错误最朴素也最致命算面积时一边用 T 1小时一边用 w 15分钟。结果分母是 1分子是一堆以分钟为单位的数算出个几百几千直接乱掉。这类错误在代公式的时候特别容易犯因为公式 P 1 - (T - w)²/T² 里的 T 和 w 必须同单位。有两条防线一是统一换成分钟T 60、w 15全程用分钟二是算完之后做量纲检查概率必然在 0 到 1 之间如果算出来大于 1 或是个负数一定是单位或符号出了问题。还有一个相关的坑把12:00 到 13:00理解成一个小时窗口之后有人会把 w 也写成 0.25 小时这本身没错但中途又混用 60 分钟做分母照样出错。选定一种单位后整道题从头到尾都不要换。错误类型典型表现正确做法漏乘 2不相遇面积写成 1012.5两个三角形合计 2025边界翻倍用 |x-y| ≤ 30|x-y| ≤ 15单位混用T 用小时、w 用分钟全程统一为分钟忘记均匀假设直接套 7/16 到现实先确认分布形态离散化未察觉按整分钟枚举得 0.45明确说明用离散模型8. 我个人对这道题的几点体会这道题我前后给别人讲过很多遍最大的感受是它的价值根本不在 7/16 这个数而在于把条件翻译成几何区域这个动作。会做这道题的人换个场景照样能建出类似的模型——比如两个人随机时刻登录系统、在同一个 5 分钟窗口内才可能协作比如两台设备每隔一段时间上报心跳只有落点接近时才能配对比如两个快递员在同一片区随机到达等待超过某个阈值就算失败。这些都是同一个结构。反过来只记住答案的人一遇到窗口错开或者其中一方迟到就完全无从下手。所以我在给自己复习的时候从来不背公式而是每次都重新画那个正方形把带子和两个角画出来然后从面积比一路推下来。这个过程花不到一分钟但保证了我不会记混 w 和 2w 的关系。另外一点体会是关于模拟的。模拟的最大作用不是验证答案而是让你敢于改动假设。当解析公式推不动的时候比如三个人、非均匀分布、非对称等待改一行代码就能得到估计值这种自由度是纸笔给不了的。但也要清楚模拟的局限它只能告诉你这个假设下大概是多少永远不能告诉你这个假设对不对。后者需要看现实数据。最后留一个可以自己动手的小练习把人数从 2 加到 3规则改成任意两人之间时间差不超过 15 分钟就算有人碰到面用模拟估一下概率是多少再想想能不能解析地算出来。我试过几次解析路径相当麻烦得对三维立方体做体积分割而模拟跑几十万次就能给出一个稳定的估计值。这种解析难、模拟易的对比本身就是一道很好的建模练习。 SEO 优化官网定制响应式建站教育培训建站