@最優服務次序問題(貪心法)
問題描述:設有n個顧客同時等待一項服務,顧客i所需要的服務時間為ti,應如何安排顧客的服務次序,才能使平均等待時間最短?平均等待時間是n個顧客等待服務時間的總和除以n。
解題思路:
1.演算法主要思想:本題我們直接採用貪心法求解
2.求解步驟:
(1)將排隊所花時間從小到大排列
(2)計算總排序時間,不放設總人數為n,則總排序時間耗時最少的顧客計算了n次,耗時次少的計算了(n-1)次,……依次類推,……耗時最長的顧客只算了1次。
3.演算法程式:
using namespace std;
const int n=1010;
int a[n];
//氣泡排序將原來陣列a[n]從小到大排列
void sort(int a,int n)
4.演算法輸入輸出執行如下:
最近學貪心法,寫作業時大概寫了一下,**執行沒問題,但編譯習慣的可能有小問題,歡迎指出,多多交流。
最優服務次序問題(貪心)
題目 1 問題描述 設有n 個顧客同時等待一項服務。顧客i需要的服務時間為ti,1 i n 應如何安排n個顧客的服務次序才能使平均等待時間達到最小?平均等待時間是n 個顧客等待服務時間的總和除以n。2 程式設計任務 對於給定的n個顧客需要的服務時間,程式設計計算最優服務次序。3 資料輸入 第一行是正...
貪心 最優服務次序問題
問題描述 設有n 個顧客同時等待一項服務。顧客i需要的服務時間為ti,1 i n 應如何安排n個顧客的服務次序才能使平均等待時間達到最小?平均等待時間是n 個顧客等待服務時間的總和除以n。程式設計任務 對於給定的n個顧客需要的服務時間,程式設計計算最優服務次序。資料輸入 第一行是正整數n,表示有n ...
貪心 多處最優服務次序問題
問題 設有n個顧客同時等待一項服務,顧客i需要的服務時間為ti 1 i n 共有s處可以提供此項服務,應如何安排n個顧客需要的服務次序才能使平均等待時間達到最小?平均等待時間等於n個顧客等待服務的總時間除以n。輸入 第一行兩個正整數n和s表示n個顧客s處服務,接下來n個顧客需要的服務時間 輸出 平均...