傳送門: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 namespace std;
typedef long long ll;
const int n=1e5+10;
int n,m,cnt;
ll bin[55],a[n],q,ans;
inline void ins(ll x)
x^=a[i];
}}inline ll sol(ll x)
re--;
} return ans;
}int main()
for(scanf("%d",&m);m;--m)
return 0;
}
LOJ114 K大異或和 線性基
給出乙個n 1 e5 n leq1e5 n 1e 5的可重集合,求這個集合的第k kk小異或和。首先直接對n nn個數消元,然後把高位之後的1 11也盡可能消去,取出所有的非零的基向量。特判掉可能為0 00的情形 當且僅當非零基向量小於元素個數 剩下的t tt個基向量共有2t 12 1 2t 1 種...
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...
loj114 k大異或和 線性基 特判
題目描述 給由 n 個數組成的乙個可重集 s 每次給定乙個數 k 求乙個集合 t s 使得集合 t 在 s 的所有非空子集的不同的異或和中,其異或和 t 1 text t 2 text text t 是第 k 小的。求這個第 k 小的異或和。題解線性基 特判 板子題沒什麼好說的,直接求出嚴格線性基,...