LOJ114 K大異或和 線性基

2021-10-01 01:53:28 字數 583 閱讀 9526

給出乙個n≤1

e5

n\leq1e5

n≤1e

5的可重集合,求這個集合的第k

kk小異或和。

首先直接對n

nn個數消元,然後把高位之後的1

11也盡可能消去,取出所有的非零的基向量。特判掉可能為0

00的情形(當且僅當非零基向量小於元素個數),剩下的t

tt個基向量共有2t−

12^-1

2t−1

種方案。然後將k

kk二進位制分解,分別取二進位制位的基向量異或起來。

#includeusing namespace std;

typedef long long ll;

const int inf=0x3f3f3f3f;

const ll inf=long_long_max;

int n,q;

ll x;

ll bit[52],b[52];

int main()

}printf("%lld\n",ans);

} }return 0;

}

LOJ 114 K大異或和 線性基

題目鏈結 需要注意如果線性基中表示的向量不足n個,說明一定存在一組向量滿足線性相關關係,即存在xor和為0的情況。這樣要使k減1。判斷是k 1 include include define gc getchar define maxin 100000 define gc ss tt tt ss in...

LOJ 114 k 大異或和 線性基 貪心

傳送門 loj114 注意構造的線性基a ia i ai 需要滿足 若第i,j i,ji,j位上都有值,則ai 2j 0 a i 2 j 0 ai 2j 0且a j i 0a j i 0 aj i 0,這樣從高位到低位貪心才滿足只決策了當前位。需要特判非空子集中是否存在0 includeusing ...

loj114 k大異或和 線性基 特判

題目描述 給由 n 個數組成的乙個可重集 s 每次給定乙個數 k 求乙個集合 t s 使得集合 t 在 s 的所有非空子集的不同的異或和中,其異或和 t 1 text t 2 text text t 是第 k 小的。求這個第 k 小的異或和。題解線性基 特判 板子題沒什麼好說的,直接求出嚴格線性基,...