bzoj 2844 線性基 高斯消元

2022-08-12 11:45:13 字數 704 閱讀 7840

又用到線性基+高斯消元的套路題了,因為經過高斯消元以後的線性基有非常好的序關係,所以這種套路還是經常考到的。

求出乙個經過高斯消元的基以後,根據基裡面的元素個數可以確定值域的數的個數,並且給定乙個k也可以求出第k小的元素。那麼如果把序列的元素個數比線性基的秩多出來的那些元素,其實就是把值域翻倍了。每多乙個元素,值域翻兩倍。b序列從0開始編號可能會容易寫一點。

#includeusing

namespace

std;

vector

base

;void insert(int

x)int

main()

sort(

base.begin(),base

.end());

for (int i=base.size()-1;i>=0;i--)

}int more=n-base

.size();

int id=0

;

intq;

scanf("%d

",&q);

for (int i=base.size()-1;i>=0;i--)

}for (int i=0;i2)%10086

; id=(id+1)%10086

; printf("%d

",id);

return0;

}

線性基,高斯消元總結

所以,對於每個數進行二進位制掃瞄,若第i位為1,判斷這位是否有數,如果有,則異或上這個數,否則把第i位上的數設為這個數,並結束這個數的掃瞄。合併 把乙個線性基中的數暴力插入另乙個即可 設數的長度為l,那麼構建n個數的線性基的複雜度為 o nl 合併複雜度為 o l 2 不支援刪除。應用 涉及到異或和...

知識點 高斯消元 線性基

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

HDU 3949 XOR 線性基 高斯消元

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