題目大意:
若數列$\$為$1\sim n(n\le4200)$的乙個排列,求滿足對於任意$1a_$且$a_i>a_$或$a_i思路:
用$f[i][j]$表示$a$的前$i$項為$1\sim i$的排列,$a_1=j>a_2$的方案數。
若$j-1\ne a_2$,則直接交換$j$和$j-1$,數列依然滿足條件,貢獻$f[i][j-1]$的方案數。
若$j-1=a_2$,則貢獻為$a$的前$i-1$項為$1\sim i-1$的排列,$a_1=j-1
1 #include2 #include3 inline intgetint()
10const
int n=4201;11
int f[2
][n];
12int
main() 19}
20int ans=0;21
for(register int i=1;i<=n;i++)
24 printf("
%d\n
",ans);
25return0;
26 }
SDOI2010 地精部落
求1 n的全排列數目,使得對於 i geq 3 a a 的大小關係與 a a 的大小關係不同 題目還有另外一種格式 求一種全排列,使得這個排列要麼滿足奇數項的高度比相鄰位置都大,要麼滿足偶數項的高度比相鄰位置都大.設 dp 表示用了前 i 個數字,a 1 j 且 a 1 a 2 時的方案數 有乙個神...
SDOI2010 地精部落
這道題是一道 dp 題,思維難度比較大。題意 先定義波形陣列 滿足當 i 全為奇數或偶數時,a i a i 1 且 a i a i 1 求 n 的全排列中有多少個符合波形陣列。我們記錄狀態為 f i j 0 1 i 為剩下 i 個數,j 表示有 j 1 個數小於剛剛選擇的數,當第 3 個下標為 0 ...
SDOI2010 地精部落
sdoi2010 地精部落 僅含一行,兩個正整數 n,p。僅含一行,乙個非負整數,表示你所求的答案對p取餘 之後的結果。4 7對於 20 的資料,滿足 n 10 對於 40 的資料,滿足 n 18 對於 70 的資料,滿足 n 550 對於 100 的資料,滿足 3 n 4200,p 109 我覺得...