#P15841. [Bulgarian NOI 2024] 公平 / Fair
[Bulgarian NOI 2024] 公平 / Fair
说明
菲莉莎·戴喜欢玩 DnD。为此,她需要各种 面的骰子。但她手头有点紧,为了省点钱,她在打折时买了 个骰子。然而,她发现并非所有骰子都是公平的(一个骰子是公平的,当且仅当其每一面出现的概率相等)。更准确地说,每个骰子以概率 是公平的;若不公平,则其每一面出现的概率按如下方式生成:
- 对于 从 到 ,生成一个介于 和 之间的随机数,记作 。
- 第 面出现的概率等于 。
我们可以将公平骰子视为所有 值相等的骰子。
菲莉莎急于判断哪些骰子是公平的、哪些不是,但时间紧迫,因此她对每个骰子投掷了 次。她记录了结果——即每个骰子的每一面各出现了多少次,但她不确定如何分析这些数据。请你编写一个程序,帮助她将骰子分类为“公平”或“不公平”。当然,并不要求达到 100% 的正确率。相反,每次错误都会受到惩罚:如果你将一个公平骰子误判为不公平,惩罚值为 ;如果你将一个不公平骰子误判为公平,惩罚值为 。你的目标是最小化总的惩罚值。
输入格式
从标准输入的第一行读入 和 。下一行读入 。接下来的 行中,每行包含 个整数——第 行的第 个数表示在第 个骰子上,第 面出现的次数。
输出格式
对于每个骰子,在标准输出的单独一行上输出 1 表示你将其分类为公平骰子,或 0 表示你将其分类为不公平骰子。
3 15 0.6 0.35 0.65
4
4 7 4
5 5 5
9 5 1
3 6 6
0
1
0
1
提示
样例 1 解释
结果发现,该解决方案对骰子 和 判断正确,但对骰子 和 判断错误。第一次错误带来的惩罚是 ,第二次错误带来的惩罚是 。总惩罚值为 。
限制条件
评分
每个测试点独立评分。给定测试点的得分按以下方式计算:
- 设 为你的解决方案所犯错误的总惩罚值。
- $S = \max\left(\frac{\text{BAP} - \text{AP}}{\text{BAP}},\ 0\right)$
- 你的得分为:$$\begin{cases} 0.3 + 0.7 \times \left(1 - \left(1 - \frac{R - 0.8}{1 - 0.8}\right)^{0.75}\right) & \text{若 } R \ge 0.8 \\ \frac{0.3}{0.8} \times R & \text{若 } R < 0.8 \end{cases}$$
翻译由 Qwen3.5-397B-A17B 完成
京公网安备 11011102002149号