洛谷 P4783 模板 矩陣求逆

2021-09-26 06:37:11 字數 1013 閱讀 8726

可以直接建乙個 n×2

∗n

n \times 2 * n

n×2∗

n 的矩陣,左半部分為給定矩陣,右半部分為單位矩陣,進行高斯消元;在取模意義下,除法轉化為乘以乘法逆元,模數是質數,逆元用費馬小定理加快速冪求即可。

#include

#include

using

namespace std;

inline

intread()

while

(c >=

'0'&& c <=

'9')

num = num *

10+ c -

'0', c =

getchar()

;return flag * num;

}const

int maxn =

405, mod =

1e9+7;

inline

intqpow

(int a,

int b)

return ans;

}int n, x[maxn][2

* maxn]

;inline

void

print()

}inline

intgauss()

if(!x[i]

[i])

return0;

for(

int j =

2* n; j >= i;

--j)

x[i]

[j]=

1ll* x[i]

[j]*

qpow

(x[i]

[i], mod -2)

% mod;

for(

int j =

1; j <= n;

++j)

}return1;

}int

main()

return0;

}

求逆矩陣 模板 洛谷P4783

模板題目 輸入乙個n n的矩陣,若可逆,求其逆矩陣。include using namespace std const int maxn 405 const int mod 1e9 7 int n struct matrix int operator int x void swap int x,in...

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...