HDU - 6395シーケンス(+割り切れるブロック行列高速電力)

列の数を定義します。

$ \が\ {\開始{eqnarray *} F_1&=&A \\ F_2&=&B \\ F_nを左&=&C \ CDOT {} F_ {N-2} + D \ CDOT {} F_ {N-右。$ \ 1} + \左\ lfloor \ FRAC {P} {N} \右\ rfloor \端{eqnarray *}

n番目のカラムの数の要件。

明らかに分割ブロッキング問題、$ \は、高速電力にマトリックスに\ lfloor \ FRAC {P} {N} \右\ rfloor $のnは同じ基を残しました。複雑$ O(nlognのsqrt \ ^ 3 3)$

1つの#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3 typedefの長い 長いLL。
4  のconst  int型 N = 1E5 + 10、MOD = 1E9 + 7 5  int型N、A、B、C、D、P。
6  構造体マット{
 7      INT [ 3 ] [ 3 ]、N。
8      マット(){memsetの(0はsizeof a)に示すように、n = 3 ;}
 9      INT * 演算子 [](INT X){ リターン[X];}
 10      マット演算子 + (マットB){
 11          マットC。
12          のためにint型 I = 0 ; iがN <++ I)
 13              のためのINT J = 0 ; J <N; ++ j)の
 14                  C [i]は[J] =([I] [J] + B [i]は[J])%のMOD。
15          リターンC。
16      }
 17      マット演算子 * (マットB){
 18          マットC。
19          のためにint型 I = 0 ; iがN <; ++ i)は
20              のためにINT J = 0 ; J <N; ++ j)は
 21                  のためにINT K = 0、N <K; ++ k)を
 22個の                      C [i]は[J] =(C [i]は[J] + (LL)[I] [K] * B [k]は[J])%MOD。
23          リターンC;
24      }
 25  }。
26マットパウ(マットのx、int型P){
 27      マットRET。
28      のためには、int型 i = 0 ; I <ret.n; ++ I)RETを[I] [I] = 1 29      のために(; P; P >> = 1、X = X * X)であれば(P 1)RET = RET * X。
30      リターンRET;
31  }
 32  、INT (){解く
 33      場合(Nの== 1を返します34      マットT。
35      のためにint型 I = 0 ; iがテネシー州<; ++ I)T [i]は[I] = 1 36      のためのint型、L = 3、R、K、L <= N; L = R + 1 ){
 37          、K = P / L、R = K && P / K <N P /?K:N。
38          マットX。
39          X [ 0 ] [ 0] = D。
40          X [ 0 ] [ 1 ] = C。
41          X [ 0 ] [ 2 ] = K。
42          X [ 1 ] [ 0 ] = 1 43          X [ 2 ] [ 2 ] = 1 44          X =パウ(X、R-L + 1 )。
45          、T = X * T。
46      }
 47      リターン((LL)T [ 0 ] [ 0 ] * Bの%のMOD +(LL)T [ 0 ] [ 1] *%MOD +のT [ 0 ] [ 2 ])%MOD。
48  }
 49  INT メイン(){
 50      のint T。
51      のために(scanf関数(" %のD "、&​​T); T-- ;){
 52          のscanf(" %D%D%D%D%D%D "、&​​A、&B、&C、&D、&P&N) ;
53          のprintf(" %d個の\ n " 、解決())。
54      }
 55      リターン 0 56 }

 

おすすめ

転載: www.cnblogs.com/asdfsag/p/11287159.html