1. 問題描述
有n個貨櫃要裝上一艘載重量為w的輪船,其中貨櫃i(1≤i≤n)的重量為wi。2. 解題思路不考慮貨櫃的體積限制,現要選出盡可能多的貨櫃裝上輪船,使它們的重量之和不超過w。
當重量限制為w時,wi越小可裝載的貨櫃個數越多,所以採用優先選取重量輕的貨櫃裝船的貪心思路。
#include
using
namespace std;
// 問題表示
int w=
;//各貨櫃的重量,下邊0不用
int n =
5, w =10;
// 貨櫃的重量上線
int maxw =0;
// 存放最優解的總重量
int x[20]
;// 存放最優解向量
void
solve()
}int
main()
最優裝載問題
現有n個貨櫃要裝進兩艘載重分別為c1,c2的船,其中第i個貨櫃重w i 並且題目保證 i 1nw i c1 c2 問是否存在乙個合理的裝載方案,使得這n個貨櫃都裝進兩艘船,若有請找出一種方案。題目分析 方法1 對於每個貨櫃,都有3種狀態 裝到船1,裝到船2,或者不裝。按照這個思想我們可以列舉所有的n...
最優裝載問題
題目描述 給定一艘容量為c的船,給定一批貨物,貨物i的重量是wi,要求在船不超重的前提下,將盡可能多的貨物裝上船。思路 盡可能多的裝上船,就像活動安排問題一樣,先對貨櫃的重量從小到大排序,在貨櫃重量不超過輪船載重量的情況下先裝輕的,裝上之後在用乙個布林型陣列賦值為1,表示裝上船,方便輸出 inclu...
最優裝載 貪心
最優裝載問題可用貪心演算法求解。採用重量最輕者先裝的貪心選擇策略,可產生最優裝載問題的最優解。template class type void loading int x type w type c,int n include h using namespace std const int max ...