題目大意:
給定k個數字序列,請將它們合併為乙個,滿足本來在同一序列中的兩個數的相對位置不變。定義乙個序列a的不和諧度為序列中使得a[i]>a[i+1]成立的i的總數,請輸出一種合併方案,使得合併後的序列不和諧度最小。
考場上算錯時間複雜度了,以為可以切了的,沒想到拿了80。
我想的是貪心:假設已經填入\(i - 1\)個數,將要填第\(i\)個。首先找大於等於\(a[i -1]\)的最小的乙個數填入,如果找不到,找乙個最小的比\(a[i - 1]\)小的數填入。
舉個例子:
合併前:
5 7 1 3
2 4 3 5
合併後:
2 4 5 7 1 3 3 5
正解的話不太好想,反正我沒想到。(%%%同機房裡想出的dalao)
我們只需要找合併前的序列的不和諧度最大的乙個就好了。因為你肯定可以找到乙個合適的位置插進去,把某一段變為乙個單增的,這樣是不會增加不和諧度的。(手畫畫就出來了)
#include using namespace std;
inline long long read()
const int n = 2e5 + 5, k = 101, inf = 2147483647;
int k, ans, last;
int a, x, y, p, len, res;
int main()
ans = max(ans, res);
}printf("%d", ans);
fclose(stdin); fclose(stdout);
return 0;
}
1021上午考試T2
題目大意 n個莊家。你可以到莊家那邊下注,每次可以猜大猜小,猜一次一元錢。每一次開彩前,你都可以到任意個莊家那裡下賭注。如果開彩結果是大,你就可以得到你之前猜大的莊家相應的ai元錢。如果開彩結果是小,你就可以得到你之前猜小的莊家相應的bi元錢。你可以在同乙個莊家那裡既猜大又猜小 這樣是兩塊錢 也可以...
考試總結T2(接上次整的T1)
首先說一句,樹的每個元素的名稱的問題,那個叫jie點的東西 具體是節點還是結點.baidu百科寫的是結點.本文章將不考慮到底這倆字怎麼寫.所以兩種都可能出現 t2描述 扶蘇翻遍了歌單卻沒有找到一首歌能做這個題的題目背景,於是放上了扶蘇最喜歡的一首 不老夢 與day1的第二題一樣,今天的第二題依然是一...
5 11返校測試T2
有k k第一行乙個整數n。第二行有n個正整數,每個數字代表一張選票所選的人的編號。每行乙個正整數,為優勝者的編號,由小到大。如果沒人獲勝,則輸出 no such person.8 5 2 3 6 2 5 2 72優勝者為2號。下面是這個題的思路qwq 將所有的選票進行從小到大排序 快排解決 然後將陣...