小結 高斯消元

2021-09-06 19:11:23 字數 1625 閱讀 5164

對於一組多項式方程(增廣矩陣中,x[i, n+1]表示式子的值;x[i,j]表示第i個方程第j項的係數,在這裡,增廣矩陣可能不一定是n個,可能多可能少;opt表示運算規則):

(x[1,1]*a[1]) opt (x[1,2]*a[2]) opt ... opt (x[1,n]*a[n])=x[1, n+1]

(x[2,1]*a[1]) opt (x[2,2]*a[2]) opt ... opt (x[2,n]*a[n])=x[2, n+1]

(x[n,1]*a[1]) opt (x[n,2]*a[2]) opt ... opt (x[n,n]*a[n])=x[n, n+1]

如果使用高斯消元,那麼opt必須滿足以下性質:

a opt b = b opt a

對於x[i]*a[i]和x[j]*a[i],存在一種方式能將x[i]或x[j]變成0(不一定是opt操作)

對於a opt b = c存在一種方式使得a = c opt2 b,這裡opt2表示一種操作(不一定是opt本身)

大概就這樣吧。。。

消元:我們對於每個方程,假設為i,且x[i][now]不為0(now是當前被消元的變元,更一般的,只要能支援消掉後邊方程的係數即可),然後對所有的j>i的方程,我們將所有x[j][now]不為0(或者需要消元的)用一種方式消掉。

回代:最後我們得到的是乙個x[i][i]均不為0的方程(除非無解或此方程無意義)的倒三角矩陣。然後根據性質3將當前方程的其它j>i的a[j]和係數根據性質3轉移到右式消去即可(此時a[j]一定是求出來的)

無解的情況:當存在乙個矩陣使得左式=0而右式!=0(實數注意特判),那麼無解。。

自由變元:自由變元就是當這些未知量一旦確定,整個方程就確定了。但是這些量是未知的。(例如x+y=5,自由變元就是1,因為無論是x還是y確定,另乙個就能唯一確定),而答案要求的是方案,那麼顯然因為自由變元是可以隨便賦值的,而如果這些值只有2個,開和不開,那麼方案數就是2^自由變元。自由變元的求法很簡單,具體解釋看白書,其實就是僅當n個不同的方程(就是無論怎麼通過其它方程都不會將這兩個方程變成一樣)才能確定n個解。那麼我們如果只確定了x個方程,那麼自由變元的數量就是n-x。(這個x可以輕易得到,因為在高斯消元過程中,會將所有不同的方程消元,因為消元會將相同的方程消成這個樣子:0=0。所以就能得到x了。

例題:【bzoj】1013: [jsoi2008]球形空間產生器sphere(高斯消元)

最基本的高斯消元,題目已經保證有解。

【poj】1222 extended lights out(高斯消元)

異或方程(mod 2方程),因為異或方程滿足上邊那3個性質,因此可以用高斯消元。只是要會建模,將每個點看做乙個變元,值只有兩個,0和1,表示不開和開。那麼係數就表示是否被關聯(即改變係數為1變元時,其它係數為1的變元均會改變),然後每個方程對應乙個值,即這個變元最終的狀態

【poj】1830 開關問題(高斯消元)

異或方程,需要判斷無解和求自由變元的數目。

【poj】2947 widget factory(高斯消元)

mod k方程。因為mod意義下的方程同樣滿足上邊的3個性質,因此可以考慮高斯消元。只不過在回代時要注意,因為是mod意義下的,即出現x[i][i]*a[i]=x[i][n+1] (mod k)的情況,所以我們要求出a[i]的話可以用拓展歐幾里得,也可以直接一直加k求得。(要保證mod意義下有解)

矩陣乘 高斯消元專題小結 高斯消元

i p其它題太水了就不寫了,這裡說一下o和p。我太懶不想寫 op這兩個題是高斯消元求期望的題。對於p題,求從 點到 點的步數期望,先從 點bfs一遍找到所有可以到達的點,對於可達點每個點是乙個變數。因為終點有任意多而起點只有乙個,這裡可以反過來求從任意乙個終點走到起點的期望。於是對於每乙個終點的期望...

高斯消元 浮點高斯消元

浮點數高斯消元 問題描述 給出乙個線性方程組,有n個方程組,m個未知數。解這個線性方程組。輸入格式 第1行 2個整數n和m,n,m 400,且n不一定等於m 接下來n行,每行m 1個整數,表示乙個方程的m個未知數的係數和常數 輸出格式 如果無解,輸出 no solution 如果有唯一解,輸出m行,...

矩陣消元 高斯消元

安利一波高斯消元的部落格,內容很詳細。看完這個相信你已經理解了大概,高斯消元求線性方程組,在學習線性代數 大學課程 的時候我們都接觸過。原理是先把執行緒組轉換成矩陣,然後把它等價變換成上三角矩陣,這樣從下到上依次可以求出解集。高斯消元模板 模板題 include define n 205 using...