給定數列\(\,\\),求解一組數列\(\\)(\(x_i=\\))
使得$$\fracna_i*x_i}nb_i*x_i}$$
最大化。
(只要有未知量相除,都是這玩意兒)
主要是二分答案。
設二分出的值為\(mid\),
則應有$$\fracna_i*x_i}nb_i*x_i}\geq mid$$
化化式子
\[\sum_^na_i*x_i\geq mid*\sum_^nb_i*x_i
\]\[\sum_^na_i*x_i-mid*\sum_^nb_i*x_i\geq0
\]於是只要找出一組\(a_i-mid*b_i\geq0\),就能說明\(ans\geq mid\),縮小了二分範圍。
一般都是邊權設為\(a_i-mid*b_i\),然後判圖中是否有負環,或者網路流看能否跑出正費用。
01 分數規劃小結
01分數規劃是用來解決這樣的一類問題 有一堆物品,每乙個物品有乙個收益ai,乙個代價bi,我們要求乙個方案使選擇的 ai bi最大。這一類問題一般都有固定套路 我們令x ai bi,我們要最大化x。稍微改變一下得到 ai bi x 0。即我們需滿足這個條件下得到最大的x。那麼我們就可以直接二分答案,...
分數規劃整理
分數規劃問題,是指這樣一類問題 要求f x g x 的最值,其中f x g x 都是線性函式,而其中被研究的最多的是0 1分數規劃,即求這樣的乙個式子的極值 r ci xi di xi 其中xi 我們可以把這個式子變換一下 z ci xi r di xi 其中z是左邊這個式子的最大 小 值 由於di...
分數規劃總結
其實這只是乙個用來轉換問題模型的乙個套路,沒有固定的模板什麼的。有一堆東西,每個東西有兩個值 a i,b i 在這些物品中選一些,使得 sum a i over sum b i 最大 設最大值為a 則 a 即 sum a i a sum b i 0 對於每乙個a,試著找乙個選擇方案 即選擇一組恰當的...