考慮到這樣乙個性質,乙個入度為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...