역행렬 [템플릿]

이름

P4783

시간 N $ 행렬의 N $ \ 역행렬을 찾는. 답 $ 10 $ ^ 9 + 7 모듈로. 출력 "아니오 솔루션"되돌릴 수 없습니다합니다.

분석

선형 대수학 기술, 역행렬 A,

다만이 항등 행렬이되는 행렬 A의 오른쪽 차 변환에 추가 할 권리 역행렬은 A.

간단한 증거 : $ AE \의 우측으로 향하는 화살표 E {A} '$

코드

//에서 https://blog.csdn.net/qq_43653202/article/details/99976316

사용법 #include <iostream> 
#INCLUDE <cstdio> 
#INCLUDE <cmath>
 #DEFINE 재 등록
 #DEFINE 인라인 IL
 # 정의 긴 긴 것이다
 사용  스페이스 성병; 

IL)는 (판독 버리는 { 
    LL에 S = 0 , F = 0 ;  C = getchar가 ();
    반면 (c < ' 0 ' || C> ' 9 ' ) F = (c == ' - ' ), C = getchar가 ();
    반면 (> C = ' 0 ' && C <= '' ) = S (S << 3 ) + ((S) << 1 ) + (C ^ ' 0 ' ), C = getchar가 ();
    돌아 F를 - 들 : S; 
} 

CONST의  INT N = 405 , 개조 1E9 + = 7 ;
INT의 N; 
LL A [N] [N << 1 ]; 
일리노이 LL의 qpow (LL의 X, LL의 K) { 
    LL ANS = 1 ;
    하면서 (K) {
         경우 (K & 1 ) = ANS ANS * X % 개조; 
        X = X * X %의 모드; 
        K >> = 1 ; 
    }
    반환 ANS %의 모드를; 
} 

IL 공극 Gauss_j () {
     위한 (재 int로 I = 1 , R2를, 난 = <N; ++ I) { 
        R = I;
        위한 (재 INT J = 나 + 1 , J <= N; ++ j)의
             경우 (a [J] [i]는>은 [R] [I]) R = J;
        만약 (! R = I) 스왑 (a [i]를, A [R]);
        경우 {풋 ((A [i]를 [I]!) " 해결책 " ); 반환 } 

        INT KK = qpow (a [i]를 [I] mod- 2 ); // 求逆元
        에 대한(재 INT K = 1이다. ] K <= N-; ++ K) {
             IF (K == I) 계속해서 ,
             INT의 P의 A = [K] [I] * KK % MOD;
             위한 (재 INT J = I, J를 <= (N - << 1이다. ) ++ J) 
                A [K] [J] = ((A [K] [J] -p * A [I] [J]) + MOD % MOD) % MOD; 
        } 

        위한 (재 INT J = 1. , J <= (N - << 1이다. ); J ++) A [I] [J] = (A [I] [J] * % KK MOD는)
         // 현재 행 경우 업데이트 여기에 직접 배치로서, 최종 역원 다시 탐색 시간 
    } 

    을위한 (재 INT I = . 1; 나는 <= N; ++ I) {
         위한 (재 INT J = N + 1 , J <(N << 1 ) + J)의 printf ( " %의 LLD를 " , A [i]를 [J]); 
        의 printf ( " % LLD \ 없음 " , A [i]를 [N << 1 ]); 
    } 
} 
값 int () {메인 
    N = 판독 ();
    위한 (재 int로 I = 1 ; i가 = N <; ++ I)
         에 대한 (재 INT J = 1 ; J <= N; ++ j)의 
            A [i]를 [J] 판독 = (), A [i]를 = [내가 N +] 1 ;

    Gauss_j (); 
    반환  0 ; 
}

 

추천

출처www.cnblogs.com/lfri/p/11618589.html