加勒比海 最優裝載問題

2022-04-05 12:32:48 字數 680 閱讀 2836

用一維陣列儲存古董的重量:

# 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世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜們不僅攻擊過往商人,甚至攻擊英國皇家艦 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,...