線性基學習筆記

2022-06-18 16:00:14 字數 712 閱讀 8969

根據線代常識,

\(n\)維歐幾里得空間中的\(n\)個\(n\)維向量\((k \leq n)\)可以唯一地表示\(n\)維空間中的任意乙個向量。根據定義,基底中的向量線性無關,並且不存在\(0\)。然後我們很容易有一種基於高斯消元求基底求法。

假設我們現在已經構造出了\(n\)維基底的前\(m\)個向量,且第\(i\)個向量\(\vec\)為:\(\begina_, a_,\cdots,a_\end\),考慮加入第\(m+1\)個。那我們如果能構造出乙個向量\(\beginx_1, x_2,\cdots,x_n\end\)滿足:

\[\beginx_1, x_2,\cdots,x_m\end \times

\begina_, a_,\cdots,a_ \\ a_, a_,\cdots,a_ \\ \cdots \\ a_, a_,\cdots,a_ \end

= \begina_, a_,\cdots,a_\end

\]那麼第\(m+1\)個向量就線性相關了。否則我們就可以把它加入基底中。這樣的複雜度是\(o(n^4)\)的。

很顯然向量的運算定義在取模的域中依然適用。隨之產生的就是模\(2\)域下的基底,一般稱之為線性基

根據上三角矩陣的優美性質和貪心思想,我們可以用線性基求解集合中異或和的最大值問題。

il ll calc(cn base &bas, ll res = 0)

線性基學習筆記

線性基是幹嘛的呢?給定n個數,求所有數的異或和最大是多少?求解這類問題的時候,就需要線性基了 個人感覺線性基本身就一種貪心。首先定義ba se i bas e i 表示最高位1在i位的數是什麼 對於新進來的數tm p tmp 我們先找出他最高位上的1,假設為第 j j 位,然後看一下ba se j ...

線性基 學習筆記

includeusing namespace std using ll long long const int maxn 5e5 5 原來的數 const int maxbit 63 ll a maxn 原來的數 ll p maxbit p j 第j位為最高位1的數 最高位1在第j位的數 int m...

線性基 學習筆記

按位計算,如果相同記為0,不同記為1。如果,a b c,c b a 交換律結合律 對於任何數,x x 0,x 0 x 對 於一 段序列a n,異或 和為a1 a2 an 對於一段序列a n,異或和為a 1 a 2 a n 對於一段序列 an 異或和為 a1 a2 an 設t s,所有 這樣的子 集t...