食物分配,數學推導題

 

新版食物(shiwu

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

我們暫且不討論他有多麼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;

 

 

 

我們試着從母函數角度解釋(聰明的同學應該還會發現還可以用逐層作差法解決,即首先找小數據的規律)。

首先,

漢堡是2的倍數。

H(X)=1+X^2+X^4+X^6+……=1/(1-X^2);

可樂0個或1個。

G(X)=1+X=(1-X^2)/(1-X);

依此類推

雞腿:x/(1-x^3)

蜜桃多:......

雞塊:......

包子:......

土豆片炒肉:......

麪包:......

利用卷積規則:最後方案數母函數表示爲:1/(X^4+1)

而它的第項係數剛好爲C3 N+2

這個,同學們不太理解的可以參考毛傑明的論文,只需要前面一點點知識就行了。

 

 

最後記得加高精

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章