CZY의 하렘 - 빠른 전원 최적화 매트릭스 DP

문제의 의미

n 인 정렬 위치, m은 자매 종을 넣을 수 있습니다. 각각의 위치는 몇 가지 프로그램을 찾을 수 없습니다 보류, 인접한 자매의 특정 조항을 넣을 수 있습니다.

분석

 

#INCLUDE <비트 / stdc ++ H.>
 사용  스페이스 성병; 

타입 정의  LL; 

LL의 qmul (LL의 X, Y의 LL, LL의 P) {         // 快速乘 
    X (%) = (P); 
    Y의 (%) = (P); 
    LL ANS = 0 ;
    반면 (Y) {
         경우 (Y & 1 ) { 
            ANS + = X;
            경우 (ANS> = P) = P ans-;  // 这样写不能有负数
        } 
        X << = 1 ;
        만약 (x> = P) = X- P;  >> =1 ; 
    } 
    반환 ANS; 
} 

구조체 매트 {
     INT의 R, C; 
    LL의 m [ 110 ] [ 110 ]; 
    매트 () { 
        memset 함수 (m, 0 , 는 sizeof (m)); 
    } 
}; 

mmul 매트 (매트 X, Y 매트, 피 LL) { 
    매트 ANS; 
    ans.r = XR; 
    ans.c = YC;
    위한 ( int로 I = 0 ; I는 XR을 <내가 ++ )
          ( INT K = 0 ; K <XC를 k 번째 ++ )
             에 대해( INT의 J = 0 ; J <YC, J ++ ) { 
                ans.m [I] [J] + = qmul (XM [I] [K], YM [K] [J], P);
                만약 = - (ans.m [I] [J]> = P) ans.m [I] [J] , P 
            } 
    반환 ANS; 
} 
매트 mpow (매트 X, Y의 LL, LL의 P) { 
    매트 ANS; 
    ans.r = XR; 
    ans.c = XC;
    위한 ( int로 난 = 0 ans.m을 [I] [I] =; I <ans.c 난 ++) 1 ;
    반면 (Y) {
         경우 (Y & 1 ) ANS = mmul (ANS, X, P); 
        엑스= mmul (X, X, P); 
        Y는 >> = 1 ; 
    } 
    반환 ANS; 
} 

CONST LL 모드 = 1,000,000,007 ; 
매트 T하는; 
INT의 N, m;
문자 S [ 110 ]; 


INT 의 main () { 
    는 scanf ( " %의 D % d에 " , N, m); 
    TR = TC + m = 1 ;
    위한 ( int로 I = 0 ; I <m은, 내가 ++ ) 
    { 
        는 scanf ( " %의 S ' , S);
        대한 (INT의 J = 0 ; J <m, J ++ ) 
            Tm은 [I] [J] = 1 - ((S) [J] - ' 0 ' ); 
        TM [I] [m] =   1 ; 
    } 
    에 대해 ( int로 I = 0 ; I <= m; 내가 ++) Tm은 [m] [I] = 1 ;   // 补充一类"空妹子" 

    T = mpow (T, N- 1 , 개조); 
    AR = 1 교류 = m + 1 ;
    위한 ( int로 I = 0 ; I <= m; 내가 ++) 암 [ 0 ] [I] = 1; = mmul (A, T, 개조); 
    LL ANS = 0 ;
    위한 ( int로 I = 0 ; I <= m; 내가 ++) ANS = (ANS + 암 [ 0 ] [I]) % 개조; 
    의 printf ( " % LLD \ 없음 " , ANS); 

    반환  0 ; 
}

질문을 게시 할 장소는 단지 문제에 대한 코드 솔루션을 다른 사람, 그것이 바로 진정한해야 찾을 수 없습니다? ?

 

 

 

참고 링크 : https://blog.csdn.net/FSAHFGSADHSAKNDAS/article/details/52745912

 

추천

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