求乙個\(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...