1 条题解

  • 0
    @ 2026-8-31 12:02:22

    题解

    20pts

    O(n2)O(n^2) 枚举所有解。

    +30pts

    注意到可能的 (ai,bi)(a_i,b_i) 至多 O(V2)O(V^2) 种情况,枚举 i,ji,j 对应的 (ai,bi)(a_i,b_i) 和(aj,bj)(a_j,b_j),时间复杂度为 O(V4)O(V^4)。

    +30pts

    可能的 (ai,bi)(a_i,b_i) 至多 O(log⁡2V)O(\log^2 V) 对,类比之前的做法,时间复杂度为 O(log⁡4V)O(\log^4 V)

    100pts

    首先我们把这题的 min⁡\min 给去掉,那么我们按位算贡献,可以求出和。这是这种式子的通用套路。

    考虑加上 min⁡\min,那么我们先按照 (ai,bi)(a_i,b_i) 的最高位分为:(1,0)(1,0),(0,1)(0,1),(1,1)(1,1),(0,0)(0,0)​ 四种情况。

    先考虑不同的情况,可以发现用贡献的不同的组如下:

    • (0,0),(0,1)(0,0),(0,1) 贡献为 ai⊕aja_i⊕a_j。

    • (0,0),(1,0)(0,0),(1,0) 贡献为 bi⊕bjb_i⊕b_j。

    • (1,1),(1,0)(1,1),(1,0) 贡献为 ai⊕aja_i⊕a_j。

    • (1,1),(0,1)(1,1),(0,1) 贡献为 bi⊕bjb_i⊕b_j。

    • 以下几种可能最高位相同,无法通过最高位比较:

      • (0,0)(0,0) 与 (1,1)(1,1)
      • (0,1)(0,1) 与 (1,0)(1,0)

    对于无法比较的两组,我们把两组合并起来,然后就变成了子问题,递归处理下一位。

    再考虑相同的情况,发现同组内部贡献最高位一定为 00,因此可以划分成 44 个子问题继续递归下去。

    每次考虑最高层,一共至多递归 O(log⁡V)O(\log V) 层,时间复杂度为 O(nlog⁡2V)O(n \log ^2V)。

    信息

    ID
    8202
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    8
    已通过
    0
    上传者