2020牛客寒假演算法基礎集訓營6 A 配對

2021-10-02 20:48:00 字數 727 閱讀 7034

題目描述

現在有正整數集合 a 和 b,每個集合裡有 n 個數,你要建立他們間的一一對映

將每對配對的數字相加可以得到 n 個和,你要做的就是最大化第 k 大的和

1≤k≤n≤100,000 輸入的所有數字不超過 1e8

思路

貪心~  為嘛我一開始沒想起來

第k大就是第(n - k + 1)小,讓比它小的盡可能小,把小的數都給後面的,然後其餘的交錯相加,上面最大的+下面剩餘的最小的,從裡面選擇乙個最小值就是答案

#include using namespace std;

int n, k;

const int n = 1e5 + 10;

int a[n], b[n];

int main()

for (int i = 1; i <= n; i++)

k = n - k + 1;

sort(a + 1, a + 1 + n);

sort(b + 1, b + 1 + n);

vectorvec;

for (int i = k, j = n; i <= n; i++, j--)

sort(vec.begin(), vec.end());

printf("%d\n", *vec.begin());

return 0;

}

2020牛客寒假演算法基礎集訓營

長期更新,補完為止 2 g 判正誤 題意 t組資料。判斷a d b e c f是否等於g。1e9 a,b,c,g 1e9,0 d,e,f 1e9。保證不會出現指數和底數同為 0 的情況。思路 硬算會tle或mle。快速冪取模,為了增加過題概率,多取幾個模數判斷。includeusing namesp...

2020牛客寒假演算法基礎集訓營1

找規律,推公式 三角形個數為2 m n m n m 1 n 1 2 m n mn m 1 n 1 2 m n mn m 1 n 1 include include include include using namespace std typedef long long ll const int m...

2020牛客寒假演算法基礎集訓營1

h題 突然發現h題可以用好多種方法做的。方法一 雙指標,維護乙個修改次數小於等於k的區間 include using namespace std typedef long long ll const int mod 1e9 7 const int n 1e5 5 const int inf 0x3f...