1 条题解

  • 0
    @ 2025-8-24 22:26:48

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Mivik
    AFO

    搬运于2025-08-24 22:26:48,当前版本为作者最后更新于2020-11-28 17:01:24,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    欢迎到我的博客查看

    两个多项式 AABB 通过 Mivik 卷积得到 CC 可以文字描述为:

    两个盒子,从第一个里面选 ii 个(0i<A0\le i<|A|)物品权值为 AiA_i,从第二个里面选 jj 个(0j<B0\le j<|B|)权值为 BjB_jCiC_i0i<A+B10\le i<|A|+|B|-1)的值为从两个盒子里面选总共 ii 个的最大权值和。

    容易证得 Mivik 卷积的结合律和交换律(考虑下标的和)。然后我们发现整个问题就变成了:

    要求构造 S1|S|-1 个物品,第 ii 个物品不选的权值为 bib_i,选的权值为 aia_i,使得从其中选 ii 个物品(0i<S0\le i<|S|)的最大权值和恰为 SiS_i

    我们考虑如果给定物品我们怎么计算 SS。我们首先把所有的 bib_i 加起来得到 S0S_0,然后把所有物品按 (aibi)(a_i-b_i) 从大到小排序,则 SkS_k 等于 S0S_0 加上前 kk 大的 (aibi)(a_i-b_i)

    我们发现 SS 合法当且仅当对于任意一个 ii1i<S11\le i<|S|-1),都有 SiSi1Si+1SiS_i-S_{i-1}\ge S_{i+1}-S_i。我们可以用这个条件判合法。然后我们如下构造 aabb 数组(下标从 11 开始):b1b_1 设置为 S0S_0a1a_1 设置为 S1S_1,对于其它的 iibib_i 设置为 00aia_i 设置为 vivi1v_i-v_{i-1}。注意对 S=1|S|=1 要特判答案。

    所以这真的是一道良心语文题。

    mivik.h

    代码

    • 1

    信息

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