容易知道 p/i (i=3......n); 在某一區間內是相同的,記錄前乙個區間的fn-1,fn-2,對本區間進行矩陣快速冪,確定本區間的界限可以用一句話 即 j=(p/i)==0?n:min(n,p/(p/i)),並不需要二分;
ac **
#include #include #include #include #include #include using namespace std;
typedef long long ll;
const int maxn=2e5+10;
const int mod=1e9+7;
const int inf=0x3f3f3f3f;
ll a[5][5],b[5][5],res[4][4];
void mul(ll t[5][5],ll t1[5][5])
void quc(ll a[5][5],ll pow)
}int main()
cout<
}return 0;
}
hdu 6395 (整除分塊 矩陣快速冪)
該題的表示式是 fn fn 1 1 3dc pn 1 0000 1 fn 1 fn 2 1 left begin f n f 1 end right left begin3 d c frac 1 0 0 0 0 1 end right left begin f f 1 end right fn fn...
HDU 6395 區間矩陣快速冪
hdu 6395 傳送門 題目裡有公式顯示不了,直接傳送門 公式 f1 a f2 b fn fn 2 c fn 1 d p n 其中 a b c d p n 均為不定值,p n 為計算機整數除法,即向下取整 很明顯的是 前 2 項 c 前 1 項 d,所以矩陣很好構造 mat d 1 c 0所以 f...
hdu6395 分塊矩陣快速冪
題目大意 f 1 a,f 2 b,f i c f i 2 d f i 1 p i 向下取整 給定a b c d p n 求f n 構造矩陣a 矩陣b 矩陣c f n 2 f n 1 1 0 c 0 f n 1 f n 1 0 0 0 1 d 0 0 0 0 0 0 0 0 p i 1 0 0 0 那...