題目:有 m 元錢,n 種物品;每種物品有 j 磅,總價值 f 元,可以
使用 0 到 f 的任意**購買相應磅的物品,例如使用 0.3f 元,可以購買 0.3j 磅物
品。要求輸出用 m 元錢最多能買到多少磅物品
演算法思想:,每次都買價效比最高的產品,價效比的計算公式為(重量\**),價效比的含義為用最少的錢買到最多的東西
sort(buf,buf+n); //按價效比降序排列
int idx = 0; //當前貨物下表
double sumweight = 0; //累加所能得到的總重量
while(m>0 && idx < n)else//若能買下該種物品的部分物品
idx++; //繼續下乙個物品
} cout<
貪心演算法 最優裝載
貪心演算法思想 不從整體最優上加以考慮,它所做出的選擇只是在某種意義上的區域性最優選擇,當然希望貪心演算法得到的最終結果也是整體最優的 貪心演算法性質 指所求問題的整體最優解可以通過一系列區域性最優的選擇,即貪心選擇來達到 1 問題描述 有一批貨櫃要裝上一艘載重量為 tatol 的輪船,其中貨櫃 i...
貪心演算法之最優裝船
在乙個固定重量的貨船中裝最大重量的貨櫃,忽略空間 如最大重量是15 而我有五個箱子重量分別為 2 4 66 8 60 那麼我裝入的箱子應該為第1 2 4個 我現在有兩個陣列,乙個w 5 儲存這五個箱子的重量另乙個x 5 儲存這五個箱子的下標 當我的w 5 安找遞增的順序排列後,我只需要順序相加小於我...
貪心演算法 最優裝載問題
1 資料結構定義 double w n 一維陣列儲存古董的重量 2 按重量排序 sort w,w n 按古董重量公升序排序 3 按照貪心策略找最優解 首先用變數 ans 記錄已經裝載的古董個數,tmp 代表裝載到船上的古董的重量,兩個變 量都初始化為 0。然後按照重量從小到大排序,依次檢查每個古董,...