國家集訓隊 整數的lqp拆分

2022-06-03 10:48:10 字數 613 閱讀 7154

題面:

題解見**注釋 (或者我回來會放我在洛谷上寫的題解)

/*

設 g[i] 為i的lqp拆分的權值和,則 g[i] = ∑f[j] * g[i-j] + f[i],其中 g[0] = 0, g[1] = 1.

以前是推式子推出來結果的,那麼今天就嘗試用生成函式做一下:

設 a = ∑f[i] * x^i , b = ∑g[i] * x^i ,那麼 => b = a*b + a.

解一下 b ,發現 b = a/(1-a);

又∵ a的閉形式是 x/(1 - x - x^2) [斐波那契數的生成函式閉形式].

∴ b = x/(1 - 2x - x^2) ,於是直接由b的特徵根 得出g的遞推式 => g[i] = 2*g[i-1] + g[i-2].

(生成函式太好用了2333)

*/#include#define ll long long

using namespace std;

const int ha=1000000007;

const int maxn=1000005;

inline int add(int x,int y)

int main()

國家集訓隊 整數的lqp劃分 題解

給你乙個 n 已知 fib 0 0,fib 1 1,fib n fib fib n 1 求 sum limits prod limits mfib mod 10 9 7 設數列 b k sum limits prod limits mfib f x k 所求即為 b n 我們設其生成函式為 g x ...

Luogu4451 國家集訓隊 整數的lqp拆分

題目大意 求對於所有 n 的拆分 a i 使得 sum ma i n prod mf 之和。其中 f i 為斐波那契數列的第 i 項。資料範圍 n leq 10 6 首先不要被這個 國家集訓隊 給嚇到了,其實很簡單的。首先考慮打表,逃 顯然一眼就能想到卷積,設 f x 為 f 的生成函式。則 f x...

國家集訓隊 旅遊

題目背景 ray 樂忠於旅遊,這次他來到了 t 城。t 城是乙個水上城市,一共有 nn 個景點,有些景點之間會用一座橋連線。為了方便遊客到達每個景點但又為了節約成本,t 城的任意兩個景點之間有且只有一條路徑。換句話說,t 城中只有 n 1n 1 座橋。ray 發現,有些橋上可以看到美麗的景色,讓人心...