#S1020. 异或之
异或之
描述
给定长度为 的序列 和一个大小为 的可重集合 ,由如下方式构成。
换言之,就是将所有 的 异或起来的数得到的集合。
你需要求出 的前 小元素。
输入
第一行 个正整数 ,如题所述。
以下 行,每行一个非负整数表示 。
输出
共一行 个数,表示前 小的数。
范围
$1\le n\le10^5,1\le k\le\min(2.5\times10^5,\dfrac {n\times(n+1)} {2}),0\le a_i\lt2^{31}$
给定长度为 n 的序列 a 和一个大小为 2n×(n−1) 的可重集合 S,由如下方式构成。
S={x∣x=ai⊕aj,1≤i<n,i<j≤n}换言之,就是将所有 1≤i<j≤n 的 ai,aj 异或起来的数得到的集合。
你需要求出 S 的前 k 小元素。
第一行 2 个正整数 n,k,如题所述。
以下 n 行,每行一个非负整数表示 ai。
共一行 k 个数,表示前 k 小的数。
$1\le n\le10^5,1\le k\le\min(2.5\times10^5,\dfrac {n\times(n+1)} {2}),0\le a_i\lt2^{31}$