設\(f_i\)表示強制第乙個是谷的合法方案數
轉移列舉乙個排列的最大值在**,就把序列分成了互不相干的兩個部分,把其中\(i-1\choose j-1\)的數字分配給前面部分,剩下的給後面。轉移從所有可以轉移的偶數過來
//@winlere
#include#include#include#includeusing namespace std; typedef long long ll;
inline int qr()
const int maxn=5005;
int c[maxn][maxn];
int dp[maxn];
int mod,n;
int main()
for(register int t=2;t<=n;++t)
for(register int i=2;i<=t;i+=2)
dp[t]=(dp[t]+1ll*c[t-1][i-1]*dp[i-1]%mod*dp[t-i]%mod)%mod;
printf("%lld\n",2ll*dp[n]%mod);
return 0;
}
地精部落 dp
description input 僅含一行,兩個正整數 n,p。output 僅含一行,乙個非負整數,表示你所求的答案對p取餘 之後的結果。sample input 4 7sample output 3hint 對於 20 的資料,滿足 n 10 對於 40 的資料,滿足 n 18 對於 70 的...
地精部落 題解
題目描述 輸入格式 僅含一行,兩個正整數 n,p。輸出格式 僅含一行,乙個非負整數,表示你所求的答案對p取餘 之後的結果。樣例樣例輸入 4 7樣例輸出 3資料範圍與提示 對於 20 的資料,滿足 n 10 對於 40 的資料,滿足 n 18 對於 70 的資料,滿足 n 550 對於 100 的資料...
BZOJ 地精部落
僅含一行,兩個正整數 n,p。僅含一行,乙個非負整數,表示你所求的答案對 p 取餘 之後的結果。input 4 7output 3對於 20 的資料,滿足 n 10 對於 40 的資料,滿足 n 18 對於 70 的資料,滿足 n 550 對於 100 的資料,滿足 3 n 4200,p 10 9 ...