1 条题解

  • 0
    @ 2025-8-24 22:43:56

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar pikiuk
    “Back like I never left!”

    搬运于2025-08-24 22:43:56,当前版本为作者最后更新于2023-01-19 20:05:01,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    命题思路:

    • 审题人说要有一个签到题。
    • 最开始准备的签到涉及了位运算,被毙掉了。
    • 考虑不要太毒瘤,决定出一个模拟题。
    • idea 来源 hollow knight,非常优秀的游戏。
    • 每次强化完骨钉原来三刀的小怪还是三刀。
    • 本来放这个题想让大家都开心开心,但是看结果好像大家都不开心。
    • 应该是给足了部分分,大样例的强度也不会很低。
    • 模拟 / 小学数学。

    题解报告:

    算法 0

    • 我不会这题!

    • 期望得分 00 分。

    算法 0.5

    • 我不会这题!但我会观察!

    • 注意到随机数据下给出的数据大概率不合法!

    • 输出 00,期望得分 4545 分。

    • 时间复杂度 O(1)\mathcal{O}(1)

    算法 1

    • 我会枚举!
    • 枚举 pp,并代回矩阵模拟,统计合法 pp 的个数。
    • 注意到 pp 的大小不超过 max{ai}\max\{a_i\}
    • 综合时间复杂度 O(max{ai}×n×k)\mathcal{O}(\max\{a_i\}\times n\times k)
    • 期望得分 7070 分,结合之前的部分分期望得分 6060 分。

    算法 2

    • 我会观察性质!
    • 不难发现并证明,合法的 pp 的取值是一个区间。
    • 因此我们由序列逆推得出合法的区间。
    • 首先由不等式 (ai1)×i×p<mai×i×p(a_i-1)\times i\times p < m\le a_i\times i\times p 可以得出 pp 的一个取值范围。
    • 注意到这里有个 corner case,要解 pp 肯定要移向,ai=1a_i=1 要略过,还有就是上取整和下取整要弄清楚,以及有一段点是 << 而不是 \leq,出题人为此拍了 30003000 组数据,应该卡全了。
    • 然后取 nn 个区间的交即可。
    • 综合时间复杂度 O(n)\mathcal{O}(n)
    • 期望得分 100100 分。
    • 1

    信息

    ID
    8214
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者