對於一類:每個元素有兩個屬性a,b
選擇若干個元素,使得$\frac$取到最值。
這類問題可以採用二分的方法。然後構造出模型用於判定。
推導:二分mid
如果mid<=ans,
那麼存在一組解
使得$mid<=\frac$
即,存在一組解
使得:$mid\times \sum_b-\sum_a<=0$
我一般喜歡變成:
$\sum_a-mid\times \sum_b>=0$
這樣,就是判斷,在所有的合法的選擇中,
使得$\sum_a-mid\times \sum_b$最大的是否大於等於0即可。
如果滿足,那麼退回去,mid一定比ans小。
否則一定比ans大。
而且,發現,mid越小,最大值》=0的機會越多。
所以有單調性。
所有的0/1分數規劃開始都是這樣的。
然後,根據題目的其他限制或者特點,進行建模。
例題:1.轉揹包:[usaco18open]talent show
2.轉樹形揹包:[jsoi2016]最佳團體(這個題二分上界直接10000我也是很無語啊。大了就t,小了就wa。怕不是10000是怎麼試出來的?萬一資料特殊構造不直接卡掉?)
3.轉spfa判斷正環(當然也可以判負環):bzoj3232圈地遊戲——0/1分數規劃+差分建模+判環
01分數規劃 學習筆記
n 個物品選 k 個,最大化 frac a i b i 二分答案 mid 如果 sum limits 0 則可以更優 顯然是要選擇 a i mid b i 的前 k 大 最小化生成樹的 n 條邊 frac cost i,j dis i,j 一樣的做法二分答案每次求最小生成樹 然後完全圖用 krusk...
01分數規劃學習筆記
01分數規劃學習筆記 今天 gsh 帶著我們複習了一下01分數規劃。01分數規劃就是假設乙個物體有兩個屬性 a,b,同時選擇在這個集合中的k個物品,使 v dfrac a i cdot x i b i cdot x i sum x i k 的值最大。那麼如何能做到呢?看這個式子我們很難看出如何求解,...
01分數規劃學習
真的是很差啊,這個東西弄了好久也沒看懂。主要是數學比較差的原因吧。網上把一些不等式啊啥的略了,我就mengbi了。最普通的01分數規劃是這樣乙個基本問題就像這樣吧。每個物品有乙個價值 花費 要求的是選其中 k 個,使得 r sum frac 最大。這裡的 非0即1,表示是否選取該物品。我們有乙個函式...