僅含一行,兩個正整數 n, p。
僅含一行,乙個非負整數,表示你所求的答案對p取餘 之後的結果。
4 73
對於 20%的資料,滿足 n≤10;
對於 40%的資料,滿足 n≤18;
對於 70%的資料,滿足 n≤550;
對於 100%的資料,滿足 3≤n≤4200,p≤109
正解:$dp$
這種題真的太噁心了,我思維弱啊!!!
不想寫題解了。。
乙個神犇的題解:
1//it is made by wfj_2048~
2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include
14#define inf (1<<30)
15#define il inline
16#define rg register
17#define ll long long
1819
using
namespace
std;
2021 ll f[2][4210
],n,p,cur,ans;
2223 il void
work()
30for (rg ll i=1;i<=n;++i) ans=(ans+f[cur][i])%p;
31 printf("
%lld
",ans*2%p); return;32
}3334int
main()
bzoj1925 Sdoi2010 地精部落
題目大意 求全排列中鋸齒狀排列的個數。首先進行打表暴力,會發現第乙個元素作為山峰和第乙個元素作為山谷,這兩種方案數是相等的,因此我們只需求出第乙個元素是山谷的方案數再乘2就是答案。做法一 f i 表示i的全排列,第乙個元素時山谷時,鋸齒狀排列的方案數。那麼考慮在i 1的乙個鋸齒狀排列中插入i這個數,...
bzoj1925 Sdoi2010 地精部落
傳送門 我們設f i j 表示前i個數,第i個數排名是j的方案總數。我們可以強制第1個數是山峰。然後我們可以將整個序列高度取反,得到其他的方案數。然後我們發現這樣做的時間複雜度是o n 3 的 加上字首和優化就是o n 2 了 var f array 0.1,0.5005 of longint n,...
bzoj1925 Sdoi2010 地精部落
傳說很久以前,大地上居住著一種神秘的生物 地精。地精喜歡住在連綿不絕的山脈中。具體地說,一座長度為n的山脈h可分為從左到右的n段,每段有乙個獨一無二的高度hi,其中hi是1到n之間的正整數。如果一段山脈比所有與它相鄰的山脈都高,則這段山脈是乙個山峰。位於邊緣的山脈只有一段相鄰的山脈,其他都有兩段 即...