B3889 [语言月赛 202311] 式神考核 题解

· · 题解

Source & Knowledge

2023 年 11 月语言月赛,由洛谷网校入门计划/基础计划提供。

考察循环结构。

文字题解

根据题目的意思,我们不难求出以下两个数值:

但是知道了得到了满分的题目一共有多少分,如何用其,以及非满分的题目的个数去计算出结果呢?这一关键在于“循环枚举”的思想,即利用计算机较高的运行速度,使用循环结构去计算出最后的答案。

那对于这一道题目我们如何利用到这个思想求解呢?我们可以枚举有多少题目获得了一半分。假设是有 i 道题目获得了一半的分数,则有:

即,如果我们不考虑额外的 1 分附加分,那么总共的分数为(\lfloor \rfloor 符号表示向下取整,例如 \lfloor 3.14\rfloor=3):

\mathrm{t}=\lfloor (n-m)\times \dfrac{10^7}{n} + \dfrac{1}{2}\times \dfrac{10^7}{n} \times i\rfloor

但是,题目里面有附加分这回事。那么我们来想想看,分数最低的情况就是没有一个获得满分的题目给加了附加分,分数最高的情况就是每一道获得了满分的题目均有附加分。也就是说,如果我们不算附加分,能获得 t 分,那么算上附加分之后 tt+(n-m) 分都是有可能得到的分数的。我们只需判断 s 是否落在这一区间上即可知道答案。

本题的输出格式较为复杂,需要多多留心。

详细的代码请参考视频题解。