#P14587. [Bulgarian 2026]Abstraction
[Bulgarian 2026]Abstraction
题目描述
给定一个长度为 N 的数组 A,下标为 0..N-1。
考虑一个有 N 个点的完全图,其中点 i 与点 j(i != j)之间边的权值为:
其中 | 表示按位或运算。
你需要求出这张图的最小生成树总权值。
实现要求
你需要实现函数:
long long solve(std::vector<int> A, int B);
参数含义:
A:数组A_0, A_1, ..., A_{N-1};B:该测试点满足A_i < 2^B,且这是满足条件的最小整数。
函数返回最小生成树的总权值。
约束条件
1 <= N <= 2^230 <= A_i < 2^23
子任务
| 子任务 | 分值 | 需要通过的前置子任务 | N 范围 |
B |
|---|---|---|---|---|
| 0 | - | 4 | ||
| 1 | 8 | 0 | <= 2^11 |
11 |
| 2 | 6 | 0-1 | <= 2^14 |
14 |
| 3 | 4 | <= 2^15 |
11 | |
| 4 | 3 | 0-3 | 14 | |
| 5 | 0-4 | 15 | ||
| 6 | 0-5 | <= 2^16 |
16 | |
| 7 | 10 | 0-6 | <= 2^17 |
17 |
| 8 | 0-7 | <= 2^18 |
18 | |
| 9 | 0-8 | <= 2^19 |
19 | |
| 10 | 5 | 0-9 | <= 2^20 |
20 |
| 11 | 0-10 | <= 2^21 |
21 | |
| 12 | 7 | 0-11 | <= 2^22 |
22 |
| 13 | 23 | 0-12 | <= 2^23 |
23 |
本地评测
本题为提交函数题。Hydro 配置包中的 grader.cpp 会读取官方压缩格式输入:
- 第一行:
N B - 第二行:一段 Base64 编码字符串,表示数组
A
程序最终只输出一个整数,即 solve(A, B) 的返回值。