hdu 5171 fib矩陣快速冪

2021-07-10 16:35:17 字數 843 閱讀 8795

題目:

題意:

給你n個數字,讓你用這些數字構造乙個最大的集合,其中可以選取m次最大的倆個數加入集合中,求最後集合中的數最大。

multi test cases (about 3) . the first line contains two integers n and k (2≤n≤100000,1≤k≤1000000000). the second line contains n elements ai (1≤ai≤100000)separated by spaces , indicating the multiset s .

分析:

k的值辣麼大,肯定是快速冪啊!然後就想推個公式,去求解。

顯然要保證加入的數最大,必須要讓集合中最大的兩個相加,設為a,b;然後現在集合中有了乙個更大的數c,所以再往集合中加數的時候,要加c,a,現在最大的數是d,再加就是d,c…….規律就是f[n]=f[n-1]+f[n-2],這不就是fib嗎!然後化成矩陣的形式,就好了、

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

int mod=10000007;

struct mat;

mat mul(mat a,mat b)

mat qmod(mat a,ll k)

return c;

}int a[100002];

int main()

return

0;}

矩陣快速冪求fib

qn是個特別可愛的小哥哥,qy是個特別好的小姐姐,他們兩個是一對好朋友 cp 劃掉 又是一年嚶花爛漫時,小qn於是就邀請了qy去嚶花盛開的地方去玩。當qy和qn來到了田野裡時,qy驚奇的發現,嚶花花瓣以肉眼可見的速度從樹上長了出來。仔細看看的話,花瓣實際上是以一定規律長出來的,而且,每次張成新的花瓣...

hdu 4965 矩陣快速冪

給定兩個矩陣a,b,分別為n k和k n 求出矩陣c a b,矩陣m c n n 將矩陣m中的所有元素取模6,得到新矩陣m 並計算矩陣m 中所有元素的和 注意到ba 得到 6 6,而ab 得到1000 1000 轉化乘法算式為 m abababab.a ba n n 1 b 直接用矩陣快速冪即可 i...

快速矩陣冪HDU2276

題意 有n盞燈,編號為1到n。0表示不亮,1表示亮,如果 i th的燈的左邊燈是亮的,那麼下一秒鐘,i th燈的狀態要改變,0變成1,1變成0。第1個燈的 左邊是第n個燈 輸入t,輸入開始的狀態 問你在第t秒時,燈的狀態時什麼樣的,輸出來。分析 可推出下一秒的狀態a i a i 1 n n a i ...