用一維陣列儲存古董的重量:
# include # include using namespace std;
const int n = 100005;
double w[n];
int main()
輸入資料
double c;
int n; //載重量c和古董個數n
cout << "請輸入可裝載的重量c和古董個數n:" << endl;
cin >> c >> n;
cout << "請輸入古董的重量:" << endl;
for (int i = 0; i < n; i++)
按古董的重量進行從小到大排序
sort(w, w + n);
按照貪心策略找最優解
double tmp = 0;
int ans = 0;
for (int i = 0; i < n; i++)
演算法複雜度分析
時間複雜度:首先需要按照古董重量排序,呼叫sort函式,其平均時間複雜度為o(nlogn),
輸入和貪心策略求解的兩個for語句時間複雜度均為o(n),因此時間複雜度為o(n+nlog(n))。
貪心演算法 加勒比海盜 最優裝載問題
有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件古董都價值連城,一旦打碎就失去了它的價值。雖然海盜船足夠大,但載重量為c,每件古董的重量為wi,海盜們該如何把盡可能多數量的寶貝裝上海盜船呢?include 呼叫sort函式的標頭檔案 includeusing namespace std c 定...
貪心 加勒比海盜船 最優裝載問題
在北美洲東南部,有一片神秘的海域,那裡碧海藍天 陽光明媚,這正是傳說中海盜最活躍的加勒比海。17 世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜不僅攻擊過往商人,甚至攻擊英國皇家艦 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件古董都價值連城,一旦打碎...
加勒比海盜船 最優裝載問題 貪心演算法
在北美洲東南部,有一片神秘的海域,那裡碧海藍天 陽光明媚,這,正式傳說中海盜最活躍的加勒比海 caribbean sea 17世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜們不僅攻擊過往商人,甚至攻擊英國皇家艦 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,...