演算法訓練 擺動序列
時間限制: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 ...