BZOj 3208 食物 生成函式 廣義二項式定理

2022-03-29 13:56:51 字數 1454 閱讀 7541

曾經搞過幾天的生成函式,也沒做幾道題,後來放棄了,今天講了生成函式和揹包問題的結合,趁著腦子清醒整理一下;

題目描述:

明明這次又要出去旅遊了,和上次不同的是,他這次要去宇宙探險! 

我們暫且不討論他有多麼nc,他又幻想了他應該帶一些什麼東西。理所當然的,你當然要幫他計算攜帶n件物品的方案數。 

當然,他又有一些稀奇古怪的限制: 

每種食物的限制如下: 

承德漢堡:偶數個 

可樂:0個或1個 

雞腿:0個,1個或2個 

蜜桃多:奇數個 

雞塊:4的倍數個 

包子:0個,1個,2個或3個 

土豆片炒肉:不超過乙個。 

麵包:3的倍數個

注意,這裡我們懶得考慮明明對於帶的食物該怎麼搭配著吃,也認為每種食物都是以『個』為單位(反正是幻想嘛),只要總數加起來是n就算一種方案。因此,對於給出的n,你需要計算出方案數,並對10007取模。

輸入樣例1 

1 輸出樣例1 

1輸入樣例2 

5 輸出樣例2 

35資料範圍

對於40%的資料,1<=n<=100000;

對於所有資料,1<=n<=10^500;

對於小資料範圍的,我們顯然可以用dp的揹包問題處理,那麼對於本題這麼大的範圍,我們該怎麼處理呢,這就要用生成函式搞一下了;

我們講每乙個要求編號;

對於1.偶數個:生成函式是1+$x^2$+$x^4$+$x^6$+$x^8$+...=$\frac$

對於2:1+x;

對於3:1+x+$x^2$=$\frac$;

算了我搞不了的公式,還是搞吧;

來自ppt,其實每乙個式子都很好推導;

對於式子七等,我們可以採取先求多項式的逆元,再將其化簡的方法會比較方便;

那麼這個題目就是讓我們求f(x)的第n-1項,為什麼是n-1呢,因為分子上的x相當於乙個位移的作用;

那麼我們**一下(1-x)-4的第[n]項係數怎麼求;有兩種思路;

第一種:廣義二項式定理;

對於負數的情況,如下;

那麼答案十分顯然,我們將其展開,就是c(3,n+2)

第二種思路:對於這個母函式的第n項的係數,相當於不定方程x1+

x2+x

3+..

.+xn

=m'>x1+x2+x3+...+xn=4的非負整數解的個數,

這個問題可以用組合數學中的插板法解決,答案也為c(3,n+2);

注意:這裡的n是已經減過1的n;

BZOJ 3208 花神的秒題計畫

time limit 16 sec memory limit 128 mb submit 704 solved 483 submit status discuss 背景 backboard memphis等一群蒟蒻出題中,花神湊過來秒題 描述 discribe 花花山峰巒起伏,峰頂常年被雪,memp...

BZOJ 3208 記憶化搜尋 花神的秒題計畫

背景 backboard memphis等一群蒟蒻出題中,花神湊過來秒題 描述 discribe 花花山峰巒起伏,峰頂常年被雪,memphis打算幫花花山風景區的人員開發乙個滑雪專案。我們可以把風景區看作乙個nn的地圖,每個點有它的初始高度,滑雪只能從高處往低處滑 嚴格大於 但是由於地勢經常變動 比...

BZOJ 3028 食物 生成函式

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