高斯消元入門 矩陣求逆 P4783

2021-10-13 20:58:08 字數 1130 閱讀 5156

題目大意:

給n ×n

n \times n

n×n的方陣g

gg,求它的逆.

題目思路:

在n ×n

n \times n

n×n的方陣g

gg後接乙個單位矩陣e

ee.形成n×(

n+n)

n \times (n+n)

n×(n+n

)的新矩陣。跑高斯-約旦消元使得g

gg變成e

ee.那麼原單位矩陣e

ee即變為g−1

g^g−

1 在過程中若出現自由元,則它不存在逆.

#include

using

namespace std;

#define ll long long

#define pb push_back

#define pii pair

#define mp make_pair

const

int maxn =

505;

const

int mod =

1e9+7;

vector<

int> e[maxn]

;ll ksm (ll a , ll b)

return ans;

}ll inv (ll x)

ll a[maxn]

[maxn *2]

;int

main()

a[i]

[n + i]=1

;}int r , c;

bool ok =

true

;for

(r = c =

1; r <= n && c <= n ; r++

, c++)if

(!p)

swap

(a[p]

, a[r]);

for(

int j =

1; j <= n ; j++)}

}if(!ok)

for(

int i =

1; i <= n ; i++)}

return0;

}

P4783 模板 矩陣求逆

題目大意 給你乙個矩陣 a 求它的逆矩陣 a 使得 aa i 題解 設 a ie 1e 2 cdots e k e i 為乙個變換 那麼 a e k e cdots e 可以在 a 變為 i 的時候對 i 做相同的操作。當 a 變為 i 時,i 就變成了 a 卡點 無 c code include ...

題解 P4783 模板 矩陣求逆

求乙個n n的矩陣的逆矩陣。答案對10 9 7取模。n 400 矩陣的初等變換 矩陣的逆定義為 a b e e為單位矩陣 此時b為a的逆 如果矩陣有逆 那麼這個矩陣經過一系列初等變化之後可以變為e 設一系列初等變化分別為p1,p2,p3.px 顯然可得a p1 p2 p3 px e 所以b p1 p...

洛谷 P4783 模板 矩陣求逆

可以直接建乙個 n 2 n n times 2 n n 2 n 的矩陣,左半部分為給定矩陣,右半部分為單位矩陣,進行高斯消元 在取模意義下,除法轉化為乘以乘法逆元,模數是質數,逆元用費馬小定理加快速冪求即可。include include using namespace std inline int...