演算法提高 接水問題

2022-08-04 20:48:14 字數 707 閱讀 8798

問題描述

有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1、t2………..tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?

輸入格式

第一行n,r (n

<=500,r<=75

)  第二行為n個人打水所用的時間ti (ti

<=100

);輸出格式

最少的花費時間

樣例輸入32

123樣例輸出

7資料規模和約定

其中80%的資料保證n<=10

這個問題的難度不在於貪心選擇,肯定都是要時間越短的越靠前接水

因為他們的接水時間是固定的,必須要他們的等待時間最短才能保證總時間是最短的

這個問題難點在於怎麼計算總時間

計算方法是,另找乙個陣列,把本題的人的總時間儲存起來

前r 個排隊時間是0,直接存本身,後面的是自己的排隊時間加上自己的時間,

其實排序完成後,時間已經是固定的了。

#include #include using namespace std;

int a[1000];

int b[1000];

int main()

sort(a,a+n);

for(int j=0;jfor(int i=r;ifor(int x=0;xcout

}

演算法訓練 接水問題

演算法訓練 接水問題 時間限制 1.0s 記憶體限制 64.0mb 提交此題 錦囊1 錦囊2 問題描述 學校裡有乙個水房,水房裡一共裝有m 個龍頭可供同學們開啟水,每個龍頭每秒鐘的 供水量相等,均為1。現在有n 名同學準備接水,他們的初始接水順序已經確定。將這些同學按接水順序從1 到n 編號,i 號...

演算法訓練 接水問題

問題描述 學校裡有乙個水房,水房裡一共裝有m 個龍頭可供同學們開啟水,每個龍頭每秒鐘的 供水量相等,均為1。現在有n 名同學準備接水,他們的初始接水順序已經確定。將這些同學按接水順序從1 到n 編號,i 號同學的接水量為wi。接水開始時,1 到m 號同學各佔乙個水龍頭,並同時打 開水龍頭接水。當其中...

演算法訓練 接水問題

問題描述 學校裡有乙個水房,水房裡一共裝有m 個龍頭可供同學們開啟水,每個龍頭每秒鐘的 供水量相等,均為1。現在有n 名同學準備接水,他們的初始接水順序已經確定。將這些同學按接水順序從1 到n 編號,i 號同學的接水量為wi。接水開始時,1 到m 號同學各佔乙個水龍頭,並同時打 開水龍頭接水。當其中...