有乙個長度為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的...