洛谷 1138 第k小整數

2022-05-25 19:30:13 字數 631 閱讀 4682

現有nn個正整數,n≤10000n≤10000,要求出這nn個正整數中的第kk個最小整數(相同大小的整數只計算一次),k≤1000k≤1000,正整數均小於3000030000。

第一行為nn和kk; 第二行開始為nn個正整數的值,整數間用空格隔開。

第kk個最小整數的值;若無解,則輸出「no result」。

輸入 #1複製

10 3

1 3 3 7 2 5 1 2 4 6

輸出 #1複製

3

n≤10000n≤10000

題解:紅題真的香(不想寫題解,太弱智了)

#include#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

int n,k,a[10004

],tot,flag;

intmain()

}if(flag==0) cout<<"

no result";

return0;

}

洛谷 P1138 第k小整數

題目傳送門 桶排 對於值域在可以接受的範圍內時,我們可以用不依賴比較的桶排去將資料排序。因為桶排不依賴比較排序,所以他可以打破 o nlogn 的複雜度下界,變成 o max value 的,不過時間是用空間換出來的。對於每乙個值 v 我們都開乙個陣列 sum v 來當做存放權值為 v 的資料的桶,...

洛谷 P1138 第k小整數

此題要求最小的第k個整數,首先我們可以用sort函式對資料進行從小到大排序,然後依次選擇。對以上資料排序得到的結果 例如 1 1 2 2 3 3 4 5 6 7。此時要得到第k個整數。例如,當k 3時,利用迴圈將a i 與a i 1 進行比較,例如 for i 0 i if k 1 這裡判斷k是否等...

洛谷 P1138 第k小整數

現有n個正整數,n 10000,要求出這n個正整數中的第k個最小整數 相同大小的整數只計算一次 k 1000,正整數均小於30000。輸入格式 第一行為n和k 第二行開始為n個正整數的值,整數間用空格隔開。輸出格式 第k個最小整數的值 若無解,則輸出 no result 輸入樣例 1 10 3 1 ...