小咪是乙個土豪手辦狂魔,這次他去了一家店,發現了好多好多(n個)手辦,但他是乙個很怪的人,每次只想買k個手辦,而且他要讓他花的每一分錢都物超所值,即:買下來的東西的總價值/總花費=max。請你來看看,他會買哪些東西吧。
輸入描述:
多組資料。
第一行乙個整數t,為資料組數。
接下來有t組資料。
對於每組資料,第一行兩個正整數n,k,如題。
接下來n行,每行有兩個正整數ci,vi。分別為手辦的花費和它對於小咪的價值。
輸出描述:
對於每組資料,輸出乙個數,即能得到的總價值/總花費的最大值。精確至整數。
示例1輸入複製1
5 11 2
2 33 4
4 55 6
輸出複製
2備註:
1≤t≤10
1≤n≤104
1≤k≤n
1≤ci,vi≤104
題意:略。
題記:01分數規劃模板題。
#include
using namespace std;
const
int n=
1e5+10;
const
double eps=
1e-7
;double w[n]
,v[n]
,sum[n]
;int
main()
cout<<
(int
)mid<}return0;
}
0 1分數規劃
題目鏈結 中文鏈結 附一篇大佬部落格感覺講的不錯 0 1分數規劃,不妨設 l a i b i 題目要求要讓結果最大,那麼就是l最大最終移相化簡可得 a i l b i 0,因為a 和b都是已知所以我們可以直接列舉l,當我們所求的值大於零說明l還有更優解當小於零時l沒有最優解。直接二分即可 inclu...
01分數規劃
01分數規劃,就是這樣乙個東西 max frac 其中 xi in 簡而言之,就是在n個物品中選出任意幾個 或者可以有限制選多少個 使得其兩種權值a,b的比值最大 這樣的問題可以二分解決 假如有這樣一道裸題 poj2976,選n k個物品使得比值最大 我們二分出r,若存在 frac r 則r可行 變...
01分數規劃
已經接觸過01分數規劃但是只知道二分寫法 實際求解略慢 dinkelbach演算法還是值得一學的。上一道裸的01分數規劃吧。poj x陣列代表我們選或者不選 0,1構成 r sigma a i x i sigma b i x i 變形 設f v 為 sigma a i x i sigma b i x...