模板 矩陣求逆

2022-04-29 22:18:16 字數 1025 閱讀 8242

求乙個\(n\times n\)的矩陣的逆矩陣。答案對\(10^9+7\)取模。

在原矩陣右邊接乙個單位矩陣,然後把原矩陣通過初等變換消成單位矩陣,右邊的單位矩陣做同樣的變換,就成了逆矩陣。

什麼,為什麼?

難得你不覺得這個想起來非常的正確麼

code:

// luogu-judger-enable-o2

#include #include #include const int mod=1e9+7;

const int n=810;

int n,a[n][n];

inline int add(int a,int b)

#define mul(a,b) (1ll*(a)*(b)%mod)

int qp(int d,int k)return f;}

int read()

int main()

for(int i=1;i<=n;i++)

if(id==-1) return puts("no solution"),0;

std::swap(a[i],a[id]);

int inv=qp(a[i][i],mod-2);

for(int j=i;j<=n<<1;j++) a[i][j]=mul(a[i][j],inv);

for(int j=i+1;j<=n;j++)

for(int k=n<<1;k>=i;k--)

a[j][k]=add(a[j][k],mod-mul(a[i][k],a[j][i]));

}for(int i=n;i;i--)

for(int j=i-1;j;j--)

for(int k=n<<1;k>=i;k--)

a[j][k]=add(a[j][k],mod-mul(a[i][k],a[j][i]));

for(int i=1;i<=n;i++)

return 0;

}

2019.2.15

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

伴隨矩陣求逆矩陣

在之前的文章 線性代數之矩陣 中已經介紹了一些關於矩陣的基本概念,本篇文章主要就求解逆矩陣進行進一步總結。我們先看例子來直觀的理解什麼是余子式 minor,後邊將都用英文minor,中文的翻譯較亂 這個例子 我們假設矩陣為a 中我們看到a 1,1 的minor就是將a 1,1 所在的行和列刪除後剩下...

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