SDOI2010 地精部落

2022-05-20 10:11:26 字數 558 閱讀 1368

題目大意:

若數列$\$為$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 int

getint()

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 我覺得...