bzoj2863 憤怒的元首

2022-05-19 05:13:32 字數 645 閱讀 5052

考慮到這樣乙個性質,乙個入度為0的點連一條邊到乙個dag中,依然是乙個dag

於是設\(f(i)\)為\(i\)個點組成的dag方案數,

那麼\(n\)個節點的dag中至少有\(i\)個節點入度為\(0\)方案數為\(f(n-i)\binom2^\)

但是入度為\(0\)的點數為\(0\)時,方案數為\(0\),也就是

\[\sum_^(-1)^if(n-i)\binom2^=0\\

f(n)=\sum_^(-1)^f(n-i)\binom2^

\]**:

#include#include#includeusing namespace std;

void read(int &x)

#define rg register

const int maxn=3e3+10,mod=1e9+7;

int n,f[maxn],fac[maxn],inv[maxn];

int mul(int x,int y)

int add(int x,int y)

int mi(int a,int b)

return ans;

}int c(int x,int y)

int main()

SSL 2863合併石子

time limit 10000ms memory limit 256000k在乙個操場上一排地擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次只能選相鄰的2堆石子合併成新的一堆,並將新的一堆石子數記為該次合併的得分。請設計乙個程式,計算出將n堆石子合併成一堆的最小得分。每組資料第1行為乙個正...

ssl2863 石子合併 dp練習

description 在乙個操場上一排地擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次只能選相鄰的2堆石子合併成新的一堆,並將新的一堆石子數記為該次合併的得分。請設計乙個程式,計算出將n堆石子合併成一堆的最小得分。input 每組資料第1行為乙個正整數n 2 n 100 以下n行,每行乙個...

SSL 2863 合併石子 區間動態規劃

在乙個操場上一排地擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次只能選相鄰的2堆石子合併成新的一堆,並將新的一堆石子數記為該次合併的得分。請設計乙個程式,計算出將n堆石子合併成一堆的最小得分。每組資料第1行為乙個正整數n 2 n 100 以下n行,每行乙個正整數,小於10000,分別表示第i...