線性基,高斯消元總結

2022-06-20 14:21:13 字數 813 閱讀 2679

所以,對於每個數進行二進位制掃瞄,若第i位為1,判斷這位是否有數,如果有,則異或上這個數,否則把第i位上的數設為這個數,並結束這個數的掃瞄。

合併:把乙個線性基中的數暴力插入另乙個即可

設數的長度為l,那麼構建n個數的線性基的複雜度為\(o(nl)\)。

合併複雜度為\(o(l^2)\)。

不支援刪除。

應用:涉及到異或和,求最大/k大異或和,判斷乙個數是否能被異或出,等等

求異或和為0的組數:先求線性基,答案就是\(2^\)

線性無關組:可用高斯消元求出,就是把每個數都用其它進行消元,如果消不盡,就將它加入。

例題:p3292 [scoi2016]幸運數字

詢問路徑的最大異或和。

預處理出倍增線性基,然後暴力合併即可

[wc2011]最大xor和路徑

求圖中1~n所有路徑中異或和最大的。

預處理出dfs中遇到的環的線性基,然後隨意找一條路徑,求與這些環的最大異或和即可。

[haoi2017]八縱八橫:

支援加邊,刪邊,修改邊權,並詢問最大異或和的環。

類似xor和路徑,詢問結果就是所有環的最大異或和,使用線性基。

修改可以看做刪除+插入。

由於線性基不支援刪除,所以使用線段樹分治。

用並查集維護所有的環。

2 . 高斯消元:

時間複雜度\(o(n^3)\)

**:注意事項:消元時,消元的係數要先求出來。

應用:矩陣求逆,涉及概率的有環dp,關燈問題,等等

異或的高斯消元可以用bitset。

知識點 高斯消元 線性基

高斯消元 解 n 元一次方程組的通用方法,大部分時候用於解決沒有明顯轉移順序的dp。考慮將方程組列成乙個 n times n 1 的矩陣 a 然後依次列舉每乙個未知數 j 第 j 列 從上往下找到第乙個 i 滿足 i geq j,a neq 0 如果找不到則該方程組無解,退出。否則把第 i 行與第 ...

bzoj 2844 線性基 高斯消元

又用到線性基 高斯消元的套路題了,因為經過高斯消元以後的線性基有非常好的序關係,所以這種套路還是經常考到的。求出乙個經過高斯消元的基以後,根據基裡面的元素個數可以確定值域的數的個數,並且給定乙個k也可以求出第k小的元素。那麼如果把序列的元素個數比線性基的秩多出來的那些元素,其實就是把值域翻倍了。每多...

HDU 3949 XOR 線性基 高斯消元

hdu 3949 xor hdu3949xor 搞死消元找到一組線性無關組 消出對角矩陣後 對於k二進位制拆分 對於每列只有有乙個1的,顯然可以用k的二進位制數直接異或得到第k大 對於一列由多個1的,由於二進位制性質,由於2的冪 1次方比2的 1到冪 的和要大,所以不影響大小 include inc...