題目資訊:
時間限制:
1000 ms | 記憶體限制:
65535 kb
難度: 4
描述 yougth現在有n個物品的重量和價值分別是wi和vi,你能幫他從中選出k個物品使得單位重量的價值最大嗎?
輸入
有多組測試資料
每組測試資料第一行有兩個數n和k,接下來一行有n個數wi和vi。
(1<=k=n<=10000) (1<=wi,vi<=1000000)
輸出輸出使得單位價值的最大值。(保留兩位小數)
樣例輸入
3 22 25 3
2 1
樣例輸出
0.75
解題思路:
乙個簡單的貪心演算法,n個物品中取k個物品,每次取剩下來的區域性最優解,最後求單位重量。不過沒優化好。
**部分:
#include struct res
;res res[10005];
int main()
bool judge(double x)
qsort(s, n, sizeof(s[0]), cmp);
double sum = 0;
for(i = n - k; i < n; i++)
if(sum > 0)
return true;
else
return false;
}void search(double l, double r)
printf("%.2lf\n", l);
}int main()
search(0, max);
} return 0;
}
NYOJ 914 Yougth的最大化
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 yougth現在有n個物品的重量和價值分別是wi和vi,你能幫他從中選出k個物品使得單位重量的價值最大嗎?輸入 有多組測試資料 每組測試資料第一行有兩個數n和k,接下來一行有n個數wi和vi。1 k n 10000 1 wi,v...
NYOJ 914 Yougth的最大化
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 yougth現在有n個物品的重量和價值分別是wi和vi,你能幫他從中選出k個物品使得單位重量的價值最大嗎?輸入 有多組測試資料 每組測試資料第一行有兩個數n和k,接下來一行有n個數wi和vi。1 k n 10000 1 wi,v...
NYOJ914Yougth的最大化
描述 yougth現在有n個物品的重量和價值分別是wi和vi,你能幫他從中選出k個物品使得單位重量的價值最大嗎?輸入 有多組測試資料 每組測試資料第一行有兩個數n和k,接下來一行有n個數wi和vi。1 k n 10000 1 wi,vi 1000000 輸出輸出使得單位價值的最大值。保留兩位小數 樣...