2013暑假新生賽第4場 C 波動序列

2021-06-16 13:20:02 字數 664 閱讀 9029

有乙個長度為n的整數序列,序列裡面的數是兩兩不同的,現在要在裡面找乙個波動序列,這個序列越長越好。

比如有波動序列

,則a0 > a1 < a2 > a3 < …

第一行輸入乙個數t,代表有t個任務,t不大於50。

對於每個任務,輸入格式為

na0 a1 a2 

…an 

其中n<=30000,測試資料保證序列的數兩兩不同。

對於每個任務,輸出最長的波動序列長度

4 5 1 2 3 4 5

5 5 4 3 2 1

5 5 1 4 2 3

5 2 4 1 3 51

2 5

3 這個題可以用貪心的思想,我們只需要找到乙個遞減的序列開始,然後找遞增序列,不斷迴圈。

每次用兩個數進行比較,用乙個f變數來儲存我們對下乙個的期望。例如,我們希望下乙個數是遞增的,那我們把兩個數比大小,如果是遞增的,那我們計數的s就可以+1,同時改變f的值,如果是遞減的,那麼f和s的值不變,將這個數繼續和後面乙個數進行比較。

#include#includeusing namespace std;

int a[33333];

int main()

if(n==1)

}if(i==n-1)break;

}cout<

2023年新生訓練賽 第 場題解

感覺怎麼說呢,現在寫的 很彆扭,自己都有點看不太慣。算了,廢話說那麼多也沒啥意思,還是速度寫題解,寫完回去學習。珍惜現在,好好做自己的事,少廢話,a mahmoud and ehab and the mex 題意 增加或減少陣列的元素,使陣列中沒有的最大非負整數為x,最少運算元?解法 找到比x小而且...

2013暑假集訓B組訓練賽第二場

problem a codeforces 79a bus game 這題先預處理求出三種拿錢方式 0 1 2張100 然後由這三種方式兩兩組合成9種方式 然後按照優先選擇的規則定義乙個小於號,排一下序就ok了。之後就是逐一的按照排好的順序取錢。include include using namesp...

bistuacm 2023年第 場新生訓練賽題解

知識點 列舉 題意 尋找距離陣列某個數最接近的a i k且b i 1的數。解法 按題意模擬即可。includeusing namespace std int main for t 0 t cout 10 t 知識點 數學 題意 找到大於a,且各數字只含乙個非0數字的數,輸出其和a的差。解法 求出a的...