#P14525. [2026年省队模拟联测]生成树

    ID: 13742 传统题 1500ms 512MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>CF2200图论数学树状数组数据结构贪心字典树最小生成树

[2026年省队模拟联测]生成树

题目描述

给定序列 {an}\{a_n\},有 qq 次询问,每次询问一个区间 [l,r][l,r],请你求出对于一个 rl+1r-l+1 个点的无向完全图,点的编号为 lrl\sim r,点 u,vu,v 之间的边的边权为 highbit(auav)\text{highbit}(a_u \oplus a_v),其最小生成树的边权之和为多少。

其中 \oplus 为按位异或操作,highbit(x)\text{highbit}(x) 表示 xx 的二进制最高位,值为 2k2^k,满足 2kx<2k+12^k\le x< 2^{k+1}。特别的,highbit(0)=0\text{highbit}(0)=0

输入格式

第一行两个正整数 n,qn,q,表示序列长度与询问次数。

第二行 nn 个正整数 aia_i,表示序列 {an}\{a_n\}

接下来 qq 行,每行两个正整数 l,rl,r,表示询问区间 [l,r][l,r]

输出格式

qq 行,每行一个整数,第 ii 行表示第 ii 次询问的答案。

样例 1 输入

5 3
7 2 6 1 3
1 5
2 3
3 5

样例 1 输出

8
4
6

样例 2

见选手目录下的 spanning/spanning2.in\boldsymbol{spanning/spanning2.in}spanning/spanning2.ans\boldsymbol{spanning/spanning2.ans}

该样例满足子任务 11 的限制。

样例 3

见选手目录下的 spanning/spanning3.in\boldsymbol{spanning/spanning3.in}spanning/spanning3.ans\boldsymbol{spanning/spanning3.ans}

该样例满足子任务 55 的限制。

样例 4

见选手目录下的 spanning/spanning4.in\boldsymbol{spanning/spanning4.in}spanning/spanning4.ans\boldsymbol{spanning/spanning4.ans}

该样例满足子任务 66 的限制。

数据范围

对于所有测试数据,保证:

  • 1n,q2×1051\le n,q\le2\times10^5
  • 0ai<2300\le a_i< 2^{30}
  • 1lrn1\le l\le r\le n
子任务编号 n,qn,q\le 特殊性质 分值
11 300300 1515
22 20002000 ^
33 10510^5 AB 1010
44 ^ A 1515
55 B
66 2×1052\times10^5 3030

特殊性质 A:保证 q=1q=1

特殊性质 B:保证 ai<128a_i < 128