表示式由x,(,)
組成,乙個合法的表示式為乙個括號序中任意插入x。
求長度為\(n\)的合法表示式中x
的個數之和。
\(n\le 10^7\)
多組詢問。
推了乙個晚上的式子。。。
首先可以設\(f_n\)表示長度為\(n\)的表示式的方案數,\(g_n\)表示貢獻和。
可以分別寫出遞推式,進而推出其生成函式:\(g(x)=\frac}-1}\)
發現重要的問題是求\((1-2x-3x^2)^}\)。
考慮求出它的遞推式。這裡有個套路:設\(b(x)=a^k(x)\),兩邊求導得\(b'(x)=ka^(x)a'(x)\),再乘\(a(x)\)得\(b'(x)a(x)=kb(x)a'(x)\)。把等式兩邊的第\(n\)位的係數表示出來,容易發現可以通過\(a_\)和\(b_\)推出\(a_\)。於是可以寫出個遞推式。
然後就做完了。改題的時候直接抄了題解的式子,直接是答案的遞推式。
using namespace std;
#include #include #include #define n 10000000
#define ll long long
#define mo 998244353
int n;
ll inv[n+5],g[n+5];
int main()
return 0;
}
提高組(計數)
題目鏈結 類題 氣泡排序 求長度為 n 的排列中滿足最長下降子串行長度不超過 2 且符合 p x y 的排列數。n le 10 7,t le 10 6 題意轉化 不存在三個點,使得左邊的點比中間大,右邊的點比中間小。我們要知道乙個 trick 從大到小 從小到大列舉數,嘗試將其插入當前排列,並使之合...
2018 07 08 2018提高組 模擬C組
fj準備教他的奶牛彈奏一首歌曲,歌曲由n 1 n 50,000 種音節組成,編號為1到n,而且一定按照從1到n的順序進行彈奏,第i種音節持續b i 1 b i 10,000 個節拍,節拍從0開始計數,因此從節拍0到節拍b 1 1彈奏的是第1種音節,從b 1到b 1 b 2 1彈奏的是第2種音節,依此...
NOIP提高組 矩陣
在麥克雷的面前出現了乙個有n m個格仔的矩陣,每個格仔用 或 表示,表示這個格仔可以放東西,則表示這個格仔不能放東西。現在他拿著一條1 2大小的木棒,好奇的他想知道對於一些子矩陣,有多少種放木棒的方案。因為棍子是1 2的,所以很容易就能發現,兩個被分割的塊,除了跨越兩個塊擺放木棍的方案數會對答案有影...