擺動序列(DP)

2021-06-20 23:25:28 字數 1088 閱讀 5435

演算法訓練 擺動序列  

時間限制:1.0s   記憶體限制:512.0mb

問題描述

如果乙個序列滿足下面的性質,我們就將它稱為擺動序列:

1. 序列中的所有數都是不大於k的正整數;

2. 序列中至少有兩個數。

3. 序列中的數兩兩不相等;

4. 如果第i – 1個數比第i – 2個數大,則第i個數比第i – 2個數小;如果第i – 1個數比第i – 2個數小,則第i個數比第i – 2個數大。

比如,當k = 3時,有下面幾個這樣的序列:

1 21 3

2 12 1 3

2 32 3 1

3 13 2

一共有8種,給定k,請求出滿足上面要求的序列的個數。

輸入格式

輸入包含了乙個整數k。(k<=20)

輸出格式

輸出乙個整數,表示滿足要求的序列個數。

樣例輸入 3

樣例輸出 8

感覺這題不能說啊,,說起來都是淚啊!!!@@#%@%

還是上**吧:

第乙個是別人做的

#include #include int main()

下面是我的:

# include # include int a[11111];

int c[11111];

int count=0;

int n;

int max;

int min;

int main()

a[2] = j;

cnt = 2;

k=1;

h=1;

count++;

memset(t, 0, sizeof(t));

while (cnt<=n)

else

if (a[cnt-2]a[cnt] && a[cnt-1]!=max)

else if (a[cnt-1] < a[cnt] && a[cnt-1]!=min)

if (a[cnt-1]==max || a[cnt-1]==min)

else

if (a[cnt-2]

藍橋杯 擺動序列(步步講解,解密DP)

問題描述 如果乙個序列的奇數項都比前一項大,偶數項都比前一項小,則稱為乙個擺動序列。即 a 2i a 2i 小明想知道,長度為 m,每個數都是 1 到 n 之間的正整數的擺動序列一共有多少個。輸入格式 輸入一行包含兩個整數 m,n。輸出格式 輸出乙個整數,表示答案。答案可能很大,請輸出答案除以100...

376 擺動序列

如果連續數字之間的差嚴格地在正數和負數之間交替,則數字序列稱為擺動序列。第乙個差 如果存在的話 可能是正數或負數。少於兩個元素的序列也是擺動序列。例如,1,7,4,9,2,5 是乙個擺動序列,因為差值 6,3,5,7,3 是正負交替出現的。相反,1,4,7,2,5 和 1,7,4,5,5 不是擺動序...

擺動序列 DFS DP

問題 1630 藍橋杯 演算法訓練vip 擺動序列 時間限制 1sec 記憶體限制 128mb 提交 72 解決 44 題目描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i ...