題目大意:
給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...