POJ 2728 最小生成樹 求最優比率生成樹

2021-08-08 23:17:24 字數 502 閱讀 9273

有n個村莊,給出每個村莊的座標和海拔,,benifit為兩點之間的距離,cost為兩點的高度差,現在要求一棵樹使得 cost / benift 最小,即求乙個最優比例生成樹

做這道題建議先做一下poj3621 sightseeing cows 最短路求最優比率生成環。

a[i]為1是選擇這條邊,0是不選

我們求∑(cost(i)*a(i))/∑(benifit(i)*a(i))>=ans;

求最小的ans

∑(cost(i)*a(i))>=ans*∑(

benifit

(i)*a(i))

∑(cost(i)*a(i))-ans*

∑(benifit

(i)*a(i))>=0

cost(i)-ans*benifit(i)就是我們要建立的邊了

ans是我們要列舉的答案。

求最小生成樹如果小於0,說明ans偏大,變小點。如果大於0相反。 如果等於0,也就是我們找到了一條最短路滿足這個公式。輸出即可。

poj 2728 最優比率樹(最小生成樹問題)

好蛋疼啊,由於double 不能用memset,害的我調了乙個多小時才發現。由於用二分搜尋,時間有點大 include include include include define maxn 1005 using namespace std const int inf 0x3f3f3f struct...

POJ 2728 最優比例生成樹

有帶權圖g,對於圖中每條邊e i 都有benifit i 收入 和cost i 花費 我們要求的是一棵生成樹t,它使得 benifit i cost i i t 最大 或最小 設x i 等於1或0,表示邊e i 是否屬於生成樹.則我們所求的比率 r benifit i x i cost i x i ...

poj2728 最優比率生成樹

這個題的意思是給你乙個連通圖,圖上每個點都有連個權值ai,bi讓你選乙個生成樹使得sigma ai xi sigma bi xi 最小,對比與基礎的01規劃,我們假設答案是mid,然後建立乙個圖,其新的邊的權值是ai mid bi,然後求解最小生成樹,假設其答案是tp,如果tp 0,說明還有更優的解...