#L4826. [USACO15FEB] Superbull S

    ID: 812 传统题 文件IO:superbull 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>图论建模生成树USACO2015

[USACO15FEB] Superbull S

P4826 [USACO15FEB] Superbull S

题目描述

Bessie 和她的朋友们正在一年一度的 Superbull 锦标赛中比赛,Farmer John 负责让比赛尽可能精彩。总共有 NN (1N2000)(1 \leq N \leq 2000) 支队伍参加 Superbull。每支队伍都被分配了一个唯一的整数队伍 ID,范围在 123011 \ldots 2^{30}-1 之间,用于区分不同队伍。Superbull 是淘汰制比赛——每场比赛后,Farmer John 会选择淘汰其中一支队伍,被淘汰的队伍将不再参与后续比赛。当只剩一支队伍时,Superbull 结束。

Farmer John 发现比赛得分有一个特殊性质:任意一场比赛中,两支队伍的得分总和总是等于两队 ID 的按位异或(XOR)。例如,若队伍 12 和 20 比赛,则该场比赛总得分为 2424,因为 0110010100=1100001100 \oplus 10100 = 11000(即 1220=2412 \oplus 20 = 24)。

Farmer John 认为比赛总得分越高越精彩。因此,他希望安排一系列比赛,使得 Superbull 所有比赛的总得分最大化。请帮助他设计比赛方案。

输入格式

第一行包含整数 NN。接下来的 NN 行每行包含一个队伍 ID。

输出格式

输出 Superbull 所有比赛可能获得的最大总得分。

输入输出样例 1

4
3
6
9
10
37

说明/提示

输出样例解释
一种获得 37 分的方案如下:

  1. Farmer John 让队伍 3 和 9 比赛,选择淘汰 9,此时剩余队伍为 6、9、10
  2. 让队伍 6 和 9 比赛,选择淘汰 9,此时剩余队伍为 6 和 10
  3. 最后让队伍 6 和 10 比赛
    总得分为 $(3 \oplus 9) + (6 \oplus 9) + (6 \oplus 10) = 10 + 15 + 12 = 37$。

关于按位异或
按位异或运算(记作 \oplus)对两个二进制数的每一位进行逻辑异或操作。当且仅当某一位上两个数不同时,结果的该位为 1。例如:
1010010100(十进制 20)\oplus 0110001100(十进制 12)=11000= 11000(十进制 24)