NEUQ 1768 一道簡單的遞推題(矩陣快速冪)

2021-08-02 12:03:39 字數 1193 閱讀 8140

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 735  

解決: 94 [

提交][

狀態][

討論版]

存在如下遞推式:

f(n+1)=a1*f(n)+a2*f(n-1)+...+an*f(1)

求第k項的值對1000000007取模的結果

單組測試資料

第一行輸入兩個整數 n , k (1<=n<=100,n第二行輸入 n 個整數 f(1)   f(2)   ...   f(n)

第三行輸入 n 個整數a1   a2   ...   an 

輸出乙個整數

2   3

1 2

3 4

10
[

提交][

狀態][

討論版] 對 

f(n+1)=a1*f(1)+a2*f(2)+...+an*f(n) 的式子可以這樣構造矩陣

這題將最後一排反過來即可

#include using namespace std;

const int n = 100 + 10;

const int mod = 1000000007;

long long n, k;

long long a[n], f[n];

struct xx ori, res;

xx mul(xx x, xx y)}}

return temp;

}void init()}}

for(int j = 0; j < n; j++)

memset(res.a, 0, sizeof(res.a));

for(int i = 0; i < n; i++)

}void calc(long long k)

ori = mul(ori, ori);

k >>= 1;

}printf("%lld\n", res.a[n-1][0]);

}int main()

for(int i = 0; i < n; i++)

init();

calc(k-n);}}

DP 一道遞推題。。。

bob想要構造一張由n個節點構成的圖。構造的過程由兩步組成 首先bob會取出n個孤立的點,並把它們從1到n編號,然後對每個節點用一種顏色染色,bob一共可以使用k種不同的顏色。接下來bob會在這張圖中加入一些有向邊,對於每乙個編號範圍在 2,n 的節點i,bob有可能選擇乙個節點j滿足j i並且節點...

一道簡單的題目

這是校賽的一道題,當時覺得挺難,後來就覺得簡單,知道思路後就很好做了。題目是這樣子的 1008 植樹節b time limit 1 sec memory limit 128 mb submit 4 solved 4 submit status web board description 植樹節那天每...

一道簡單的題目

這是一道leetcode的題目,描述如下 given an unsorted integer array,find the first missing positive integer.for example,given 1,2,0 return 3,and 3,4,1,1 return 2.you...