bzoj 3028 食物 生成函式 麥克勞林展開

2021-09-19 09:37:10 字數 583 閱讀 2525

不管怎麼求似乎都不太好求,我們試試生成函式.

這個東西好神奇.

生成函式的精華是兩個生成函式相乘,對應 $x^$ 前的係數表示取 $i$ 個時的方案數.

有時候,我們會將函式按等比數列求和公式進行壓縮,這樣會更方便.

首先,將所有物品的生成函式都列出來,發現所有式子的乘積為 $\frac}$

即 $x\times$$\frac$.

依據麥克勞林展開,$\frac$的展開為 $\sum_^c_^x^i$.

再乘乙個 $x$,並將 $n=4$ 帶入,得 $\sum_^c_^x^i$

答案即為 $c_^$,真是壯觀.

code:

#include #include #include #include #define ll long long 

#define mod 10007

using namespace std;

int main()

posted @

2019-04-20 15:12

em-lgh 閱讀(

...)

編輯收藏

BZOJ 3028 食物 生成函式

明明這次又要出去旅遊了,和上次不同的是,他這次要去宇宙探險!我們暫且不討論他有多麼nc,他又幻想了他應該帶一些什麼東西。理所當然的,你當然要幫他計算攜帶n件物品的方案數。他這次又準備帶一些受歡迎的食物,如 蜜桃多啦,雞塊啦,承德漢堡等等當然,他又有一些稀奇古怪的限制 每種食物的限制如下 承德漢堡 偶...

BZOJ3028 食物(生成函式)

乙個人要帶 n 個物品,共有 8 種物品,每種的限制分別如下 偶數個 0 1個 0 1 2個 奇數個 4的倍數個 0 1 2 3個 0 1個 3的倍數個。求方案數。n 10 對於八個物品的限制,分別構造生成函式,然後乘起來就是我們要的解。化簡後得到 f x frac x 1 x x2 4 現在考慮求...

BZOJ3028 食物(生成函式)

顯然構造出生成函式 則有f x 1 x2 x4 1 x 1 x x2 x x3 x5 1 x4 x8 1 x x2 x3 1 x 1 x3 x6 化為有限,則有f x x 1 x 2 1 x x2 1 x x2 x3 1 x2 2 1 x3 1 x4 x 1 x x2 1 x 1 x 2 1 x3 ...