1 条题解

  • 0
    @ 2025-8-24 22:21:14

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Flanksy
    Where we gonna go?

    搬运于2025-08-24 22:21:14,当前版本为作者最后更新于2024-02-15 11:58:48,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    PP 不为整数,那么必然存在一组仅使用 P\lfloor P \rfloorP\lceil P \rceil 且使用数字数量最小的方案。

    使用其他数字的最优方案中其他数字可以被等价转换为 P\lfloor P \rfloorP\lceil P \rceil 的组合。

    证明:假设给定的 P[2,3]P \in [2,3],此时 P=2,P=3\lfloor P \rfloor=2,\lceil P \rceil=3,将选择的数两两配对后考虑对答案的影响。

    1 2 3 4 5
    1 11 1.51.5 22 2.52.5 33
    2 1.51.5 22 2.52.5 33 3.53.5
    3 22 2.52.5 33 3.53.5 44
    4 2.52.5 33 3.53.5 44 4.54.5
    5 33 3.53.5 44 4.54.5 55

    可以发现只需要 2233 的组合就能凑出 [2,3][2,3] 区间内的任意数字,其他数对要么和 2,32,3 组合出的数对等价,要么显然更劣。所以必定存在选择了不超过一个 2,32,3 之外的数字的最优方案

    再证明包含一个 2,32,3 之外的数字的最优方案中该数字可以被替换,假设一个最优方案中包含一个 11,那么这个方案必定也包含至少一个 33,否则能够推出 P[1,2)P \in [1,2),与给定条件矛盾。由上表可知 1,31,3 等价于 2,22,2,最优方案中包含一个 44 的情况同理。最优方案中不会仅包含一个 55,因为 2,52,53,53,5 都是会使答案变劣的组合。

    给定的 PP 在其他区间内的情况同理,证毕。

    x=PPx=P - \lfloor P \rfloor,问题转化为找到一组和最小且满足 0×k1+1×k2k1+k2=x\dfrac{0 \times k_1 + 1 \times k_2}{k_1+k_2}=x 的整数 k1,k2k_1,k_2,构造的最优方案中仅使用 k1k_1P\lfloor P \rfloork2k_2P\lceil P \rceil

    移项得 k1k2=1xx\dfrac{k_1}{k_2}=\dfrac{1-x}{x},令 y=1xy=1-x,将 xxyy 同乘 1010 的幂转化为整数后同时除以 gcd(x,y)\gcd(x,y) 可以得到 k1,k2k_1,k_2 的值。

    • 1

    信息

    ID
    5511
    时间
    1000ms
    内存
    512MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者