BZOJ3028 食物(生成函式)

2022-05-22 00:00:11 字數 742 閱讀 1067

顯然構造出生成函式:則有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)·(1-x2

)=x·(1+x)/(1-x)3·(1-x2

)=x/(1-x)4。

廣義二項式定理暴算。則有f(x)=x·(c(-4,0)·(-x)0+c(-4,1)·(-x)1+……)。考慮c(-4,n)=(-4)·(-5)·……·(-4-n+1)/n!=(-1)n·(n+3)!/3!/n!=(-1)n·c(n+3,3)。則f(x)=c(3,3)·x+c(4,3)·x2+……。

即答案為c(n+2,3)=n(n-1)(n-2)/6。求一下6在模10007下的逆元就好。觀察到6整除10008甚至可以直接算逆元。

(怎麼我一交darkbzoj就上不去了

#include#include

#include

#include

#include

#include

using

namespace

std;

#define p 10007

intread()

intn;

intmain()

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 食物(生成函式 Lucas)

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