小咪是乙個土豪手辦狂魔,這次他去了一家店,發現了好多好多(n個)手辦,但他是乙個很怪的人,每次只想買k個手辦,而且他要讓他花的每一分錢都物超所值,即:買下來的東西的總價值/總花費=max。請你來看看,他會買哪些東西吧。
分數規劃,二分答案
有 n 個物品,有屬性值 ai,bi要求選出至多 k 個物品,使得sum
(ai)
/sum
(bi)盡可能大。
我們要首先二分答案 x,若 sum
(ai)
/sum
(bi) ≥x 則說明答案可以更大。
稍微變形一下:sum
(a[i]
)>=
sum(b[i]
)* x;
繼續:sum
(a[i]
- b[i]
* x)
>=
0#include
using
namespace std;
const
int maxn =
1e5;
typedef
long
long ll;
ll a[maxn]
, b[maxn]
, c[maxn]
;int n, k;
bool
cmp(ll a, ll b)
intcheck
(int x)
sort (c +
1, c + n +
1, cmp)
; ll ans =0;
for(
int i =
1; i <= k; i++
)return ans >=0;
//判斷 sum(b[i] - a[i] * x) >=0 -> 答案l = mid + 1 else r = mid - 1
}int
main()
while
(l <= r)
else
} cout << l -
1<< endl;
}return0;
}
去超市買東西 日記
吃飯前,爸爸媽媽商量飯後帶明明去超市買東西,媽媽問明明 娃娃,咱們去超市吧?好!聽著明明鏗鏘有力地回答,媽媽高興極了,接著問明明 娃娃,你想買什麼呀?海苔!明明不假思索地回答 哈哈,爸爸就知道明明要這麼說 那咱們給爸爸買什麼呀?媽媽繼續逗明明,瓜子!哈哈哈,全家人哄堂大笑,看來爸爸愛吃瓜子可是在明明...
去超市買東西 日記
吃飯前,爸爸媽媽商量飯後帶明明去超市買東西,媽媽問明明 娃娃,咱們去超市吧?好!聽著明明鏗鏘有力地回答,媽媽高興極了,接著問明明 娃娃,你想買什麼呀?海苔!明明不假思索地回答 哈哈,爸爸就知道明明要這麼說 那咱們給爸爸買什麼呀?媽媽繼續逗明明,瓜子!哈哈哈,全家人哄堂大笑,看來爸爸愛吃瓜子可是在明明...
小咪(01分數規劃)
小咪是乙個土豪手辦狂魔,這次他去了一家店,發現了好多好多 n個 手辦,但他是乙個很怪的人,每次只想買k個手辦,而且他要讓他花的每一分錢都物超所值,即 買下來的東西的總價值 總花費 max。請你來看看,他會買哪些東西吧。輸入描述 多組資料。第一行乙個整數t,為資料組數。接下來有t組資料。對於每組資料,...