(寒假集訓) 數列

2022-09-17 22:09:16 字數 985 閱讀 9857

時間限制: 1 sec  記憶體限制: 128 mb

提交: 16  解決: 11

[提交][狀態][討論版]

a[1]=a[2]=a[3]=1

a[x]=a[x-3]+a[x-1]  (x>3)

求a數列的第n項對1000000007(10^9+7)取餘的值。

第一行乙個整數t,表示詢問個數。

以下t行,每行乙個正整數n。

每行輸出乙個非負整數表示答案。

368

10

4919

對於30%的資料 n<=100;

對於60%的資料 n<=2*10^7;

對於100%的資料 t<=100,n<=2*10^9;

【分析】矩陣快速冪

#include #include 

#include

#include

using

namespace

std;

const

long

long m = 1e9+7

;const

long

long n = 3

;long

long t=1,b=1,c=0,f1=1,f2=1

;struct

node};

node isit(node x,

long

long

c)

node matlab(node x,node s) }}

return

ans;

}long

long fast_matrax(long

long

n) tmp=matlab(tmp,tmp);

n/=2

; }

return ans.a[0][0];}

intmain()

return0;

}

寒假集訓 Find Metal Mineral

題目鏈結 題意 給出一顆生成樹,1 n 10000,在某乙個節點有k個機械人 k 10 然後機械人從這裡開始走,要求遍歷完節點,隨便停到什麼地方.求最少的路程總和.題解 樹形dp,關鍵是dp u i i的定義,因為機械人可能從子樹再跑回來,然後為了避免重複討論,應該定義為 在u為根的子樹上停了幾個機...

寒假集訓總結

寒假的訓練以不太順利的結果結束。整個寒假訓練都是兩天一場學長抓的訓練賽,然後補題,由於自己比較菜以及一些莫名的因素,導致訓練賽打得比較差,尤其是後幾場。訓練賽沒能打好的原因可能與狀態關係確實很大,但其中肯定與實力有關吧。總結一下,這些題目,演算法和思維上難倒自己的好像也沒幾道 後來補出來的 但是賽場...

ACM寒假集訓

出自 南昌理工學院acm集訓隊 什麼是dfs?void dfs 狀態 a 1.判斷狀態是否合法。合法繼續執行,否則則回到上次呼叫 2.先下走一層,也就是呼叫dfs a void dfs 引數用來表示狀態 if 越界或者是不合法狀態 return if 特殊狀態 剪枝 return for 擴充套件方...