1 条题解
-
0
自动搬运
来自洛谷,原作者为

WYXkk
Zzz Zzz搬运于
2025-08-24 22:48:43,当前版本为作者最后更新于2023-07-24 17:05:55,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
出题人题解实际上在正确性这一块完全是乱说明的,没有任何逻辑,纯粹是名词堆砌:
-
计算信息熵变化不能对事件进行捆绑
-
每次询问后信息熵不一定会下降那么多,甚至不一定会下降
-
信息熵下降与接近正确答案没有任何关系,概率更集中不一定会集中在正确答案上
下面给出一种我想的一种正确性的合理说明方式。
贝叶斯公式可以如下理解:有若干件不同的事 ,它们之中必定发生且只发生一件。设 的发生概率为 , 发生时 的发生概率为 ,则 发生时 的发生概率,即为将 进行归一化(全部乘以特定值使得和为 )后的结果。
为了简化下面的说明,用 代表原题中的 。
对于此题来说,可以定义 都对应一个权值 ,初始 。假设询问 后返回了
<,那么将 归零,对所有 将 乘上 ,对所有 将 乘上 。这样,任何时刻, 都代表此刻结果是 的“概率权值”,归一化后即为实际概率。直到答对之前,每一次询问后, 将以 的概率乘以 , 的概率乘以 ,即 将以 的概率增加 , 的概率增加 。
相信大家都听说过大数定律,即一个随机变量多次试验后的均值总是会趋于它的期望。它有一个更“精确”的版本,即中心极限定理:如果随机变量 的期望是 ,方差是 ,则 次试验求平均后,结果的分布会趋向于正态分布 。
应用在上面即说明,在 次询问没猜出来后,
$\dfrac{\ln a_x-\ln(1/n)}{q}\sim N(p\ln p+(1-p)\ln (1-p),p(1-p)\ln^2(1/p-1)/q)$
现在已经搞清楚了概率权值的分布。既然在求出最终结果前需要归一化,那么下面就研究归一化的分母,即 。
我们希望最终能够以大概率选中答案,即 尽量大,那么应该让归一化的分母尽量小。
以贪心策略来说,在每一步询问时,应该让 $\max(p\sum\limits_{i
y}a_i,(1-p)\sum\limits_{i y}a_i)$ 尽量小。</p> 显然,将 选为 与 的交界点时,$\sum\limits_{i
y}a_i\le \sum a_i/2$,那么上面的式子就不会超过 。 如此一来,就能保证每次 至少减少一半。
现在假设已经按照上面的方法进行了 次询问且没猜出来,此时 。可以发现, 一旦 ,下一次询问必定会询问 ,即猜中,那么下一次猜中的概率至少为 的概率。
根据上面的正态分布结论,将 带进去计算可以就可以得到一个单点通过概率的下界了。
现在就是把各 Subtask 的数据范围一个一个带进去看了。可以使用 WolframAlpha。
以最后一个 Subtask 为例,带入 (需要保留最后一次回答)。这里舍入误差相对比较大,考虑移一些项,记 $t=q\left(\dfrac{\ln a_x-\ln (1/n)}{q}-(p\ln p+(1-p)\ln (1-p))\right)$,则 ,需要求的概率是 。那么,通过整个 Subtask 的概率至少为 $(10p^3(1-p)^2+5p^4(1-p)+p^5)|_{p=82.2527\%}=95.7926\%$。
可以算出来通过各个 Subtask 的概率依次至少为 $100\%,100\%,100\%,100\%,100\%,98.751\%,96.39\%,95.9417\%,95.8114\%,95.7926\%$(第一个以后的 是失败概率低于输出精度了),乘起来也有 。而且实际上这些概率被低估了很多,有可能不需要等到最后一次询问就已经猜到了,实际的通过概率可能有 以上。
由此,就得到了一个正确性有保证的做法。
具体实现来讲,使用动态开点线段树即可。为了防止概率权值小于实数精度,每次修改时立即归一化即可,整体乘一个常数并不会改变上面的论证的正确性。实现起来没那么麻烦就不附代码了。
-
- 1
信息
- ID
- 8825
- 时间
- 1000~10000ms
- 内存
- 2048MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者