hrbust2223 水題 貪心 二叉堆

2021-06-27 23:39:11 字數 666 閱讀 5543

題目:

題意:n

個人排隊在

m個出水口前接水,第

i個人接水需時為

t[i]

,請問接水的最短用時是多少?

分析:貪心+二叉堆。將所有人從大到小排序,依次插入m個出水口,

每次要插入到用時最小的出水口,最後輸出m個出水口中用時最多的那乙個。

本**用優先佇列實現

#include#include#include#include#includeusing namespace std;

/*本題思路:貪心+二叉堆。將所有人從大到小排序,依次插入m個出水口,

每次要插入到用時最小的出水口,最後輸出m個出水口中用時最多的那乙個。

本**用優先佇列實現*/

int cmp(int a,int b)

int tim[101000];

int main(){

int t,n,m;

cin >> t;

while(t--){

cin >>n >> m;

priority_queue,greater> pq;//優先佇列,從小到大入佇列

for(int i=0;i> tim[i];

sort(tim,tim+n,cmp); //從大到小排序

for(int i=0;i

hrbust 2223水題 優先佇列

水題 time limit 500 ms memory limit 32768 k total submit 407 138 users total accepted 153 99 users rating special judge no description 因為是有關於接水的問題,便簡稱為水...

c 基本水題(二)

1.將陣列a中的內容和陣列b中的內容進行交換。陣列一樣大 其實這個問題很簡單和交換兩個數的原理是一樣的,引入乙個變數,只是難點是指標變數交換,為什麼要用指標,其實指標是交換位址,交換值也是可以的,在c語言中,array 100 這種陣列名代表的是整個陣列,陣列的位址由第乙個陣列代表,a就是陣列的內容...

NYOJ 噴水裝置一 水題(貪心)

時間限制 3000 ms 記憶體限制 65535 kb 難度 3描述 現有一塊草坪,長為20公尺,寬為2公尺,要在 橫中心線 上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0輸入 第一行m表示有m組測試資料 每一組測試資料的第一行有乙個整數數n,n表示共有n個噴水裝...