题解:P12061 [THUPC 2025 决赛] 喜爱之钥
前言
困难题。前置知识:一点古典概型知识。
题解
注意到每个人均按照最优决策,所以在决策时我们需要去选择成功概率最大的。假设现在有
- 选择一号锁和非一号钥匙。因为我们排除了一号钥匙所以还剩下
x+y-1 个钥匙,故成功的概率为1\over x+y-1 。 - 选择非一号锁和一号钥匙。成功的概率也为
1\over x+y-1 。接下来考虑证明。
设
A,B,C 分别为第一个人拿到的钥匙为真的,第一个人失败,第二个人成功,下面有:\begin{aligned} P(A|B)&={P(B|A)P(A)\over P(B)}\\&={{x-1\over x}\cdot{x\over x+y}\over{x+y-1\over x+y}}={x-1\over x+y-1}\\ P(C|B)&=P(A|B)P(C|AB)+P(\overline A|B)P(C|\overline AB)\\&={x-1\over x+y-1}\cdot{1\over x-1}+0={1\over x+y-1} \end{aligned} 证毕。
- 选择非一号锁和非一号钥匙。成功的概率为
(1-{1\over x+y-1}){1\over x+y-1}={x+y-2\over (x+y-1)^2}<{1\over x+y-1} ,所以不进行此种决策。
所以第二个人会选择与第一个人相同的锁或钥匙,并且选择锁或者钥匙的概率相同,所以第二个人会有
也就是说除了第一个人外,我们对于相同的
首先肯定从
-
选择的是能够配对的锁或钥匙,有
f_{i,j,c}\leftarrow f_{i-1,j,c-l} 。首先注意c-l 是在模n 意义下的,因为这n 个人是轮着来的。然后我们要将锁和钥匙稍微分开处理,首先是因为选择相同锁或钥匙的概率不同,其次就是注意枚举的l 的上界也不同。具体的,对于锁来说,因为最多就i 把所以上界为i ;对于钥匙上界就可以到i+j 。转移式就是:f_{i,j,c} = {\left((i-1)\sum f_{i-1,j,c-l}\right)+\left((i+j-1)\sum f_{i-1,j,c-l}\right)\over (i+j)(2i+j-2) } 。 -
注意如果只选钥匙的时候我们还可以有
f_{i,j,c}\leftarrow f_{i,j-1,c-i} ,因为我们如果要发现这个钥匙是假的需要让n 个人轮i 次,每次选相同的这个假钥匙,所以有f_{i,j,c}={j\over i+j}\cdot{i-1\over 2i+j-2}\cdot f_{i,j-1,c-i} 。因为每次要选锁,所以还要乘选择锁的系数,然后那个{j\over i+j} 是选到假钥匙的概率。 -
最后还要考虑的是这一次本身成功的贡献。考虑是固定一个相同的锁还是钥匙,直接拿成功的概率乘上每次选择的概率即可。
直接做时间复杂度
代码就不放了,原因有二。一是这道题的代码是小清新;二是我觉得我的讲解已经足够清晰,你就算直接抄上面的转移式似乎也能写出来。
感觉这道题挺难的,能看到这里的也很不容易,要不点个免费的赞再走?求你了。