HDU 3949 XOR 線性基 高斯消元

2022-02-27 08:42:36 字數 630 閱讀 9983

hdu 3949 xor

hdu3949xor

搞死消元找到一組線性無關組

消出對角矩陣後

對於k二進位制拆分

對於每列只有有乙個1的,顯然可以用k的二進位制數直接異或得到第k大

對於一列由多個1的,由於二進位制性質,由於2的冪+1次方比2的(1到冪)的和要大,所以不影響大小

#include#include#include#includeusing namespace std; 

inline int read()

void print(int x)

if(x >= 10) print(x / 10);

putchar(x % 10 + '0');

} const int maxn = 10007;

int a[maxn],tot = 0,zero = 0;

int n;

void guass()

} if(tot != n) zero = 1;

} int query(int x)

return ans;

} void work()

} main()

}

線性基 HDU3949 XOR 題解

給出 n n 個數,求選出的非空集合中異或和第 k role presentation k k小的異或和 異或和相同算一次 沒有 k k 個輸出 1 role presentation 1 1。如果構造線性基時將矩陣消成對角矩陣,得到的線性基就有乙個很棒的性質 最高位為 i i 的數至多只有乙個,且...

HDU3949 XOR(高斯消元求線性基)

傳送門 題意 給出若干個數,求第k大的異或和 我tm已經沒心情寫這個題解了 就因為找了乙個錯誤的 當對拍這題坑了我一節多晚自習 比較有價值的就是位運算不要輕易用 最好是預處理然後 一下 高斯消元求線性無關組 有n個就說明有2n 1個答案 從大到小排序,將k二進位制分解,選最高位 特判0的情況 inc...

HDU 3949 XOR 高斯消元

題目大意 給定乙個陣列,求這些陣列通過異或能得到的數中的第k小是多少 首先高斯消元求出線性基,然後將k按照二進位制拆分即可 注意當高斯消元結束後若末尾有0則第1小是0 特判一下然後k 然後hdu輸出long long是用 i64d 無論c艹還是g艹都是 include include include...