1 条题解

  • 0
    @ 2026-9-9 9:14:08

    题解

    思路

    先将 AA 非降排序。

    做法

    把排好序后的第 ii 个数作为所选子序列的最大值:只选择它自身时贡献 Ai2A_i^2;若最小值为前面的 AjA_j,那么位于二者之间的元素可以任意选择,贡献为 AiAj2i−j−1A_iA_j2^{i-j-1}。因此只需在线性扫描中维护 Si=∑j<iAj2i−j−1S_i=\sum_{j<i}A_j2^{i-j-1},当前贡献为 Ai(Ai+Si)A_i(A_i+S_i),加入当前元素后更新 S←2S+AiS\leftarrow 2S+A_i。

    复杂度

    所有运算对 998244353998244353 取模即可,排序后扫描的总复杂度为 O(Nlog⁡N)O(N\log N),空间复杂度为 O(N)O(N)(排序原地进行时额外空间可为 O(1)O(1))。

    • 1

    信息

    ID
    1616
    时间
    2000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者