題目大意
給定n
nn個數以及q個詢問,每個詢問要求輸出這n
nn個數的所有非空子集的異或值中第k
kk小的值,若不存在該值輸出-1。
思路
裸的線性基,順便放個板子。
維護線性基時一定要從低位往高位維護。
ac**
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef
long
long ll;
ll n,q,qu,t,a[
100000
],case=0;
typedef
struct l_b
} this->flag=1;
return;}
ll kth
(ll k)
//取第k大
void
clear()
void
rebuild()
//重構
}for
(int i=
0;i<=num;i++
)return;}
ll get_max
(ll now)
//取最大值
return ret;
} ll get_min()
//取最小值
return0;
}void
merge
(l_b n2)
//合併線性基
#undef num
} l_b;
l_b b;
intmain()
}return0;
}
線性代數 hdu 3949 XOR
題意 給你n個數,要你從中取出若干個進行異或運算,求最後所有可以得到的異或結果中的 第k小的異或值。n 10 18 這個題是用來研究xor性質的一道好題。首先我們可以暴力地找出些規律,我們發現不管拿出多少個數,他們能xor到的數,出現的次數都是一樣的,並且都是2的倍數。事實上,我們不論用原數ai還是...
線性基 HDU3949 XOR 題解
給出 n n 個數,求選出的非空集合中異或和第 k role presentation k k小的異或和 異或和相同算一次 沒有 k k 個輸出 1 role presentation 1 1。如果構造線性基時將矩陣消成對角矩陣,得到的線性基就有乙個很棒的性質 最高位為 i i 的數至多只有乙個,且...
HDU 3949 XOR 線性基 高斯消元
hdu 3949 xor hdu3949xor 搞死消元找到一組線性無關組 消出對角矩陣後 對於k二進位制拆分 對於每列只有有乙個1的,顯然可以用k的二進位制數直接異或得到第k大 對於一列由多個1的,由於二進位制性質,由於2的冪 1次方比2的 1到冪 的和要大,所以不影響大小 include inc...