bzoj1576 安全路徑

2022-06-07 21:03:13 字數 1137 閱讀 8791

先建立最短路徑樹(即跑dij每乙個點向更新他的點連邊),考慮乙個點的答案路徑一定要走過且僅走過一條非樹邊,列舉非樹邊

(x,y)

,對於乙個點

k,如果它在

x~lca

上(y~lca

的路徑上同理

),那麼答案可以更改為s[y]+len(x,y)+s[x]-s[k]

,前三個不受k的影響,因此越小越好,即將每一條邊按照這個排序後依次加入,用並查集來維護即可。

1 #include2

using

namespace

std;

3#define n 100005

4#define l (k<<1)

5#define r (l+1)

6#define mid (l+r>>1)

7int

e,n,m,x,y,z,k,d[n],fa[n],f[n],head[n],ans[n];

8struct

ji13

};14

struct

ji219 }edge[n<<2

];20 priority_queueq;

21void add(int x,int y,int

z);23 head[x]=e++;24}

25int find(int

k)29

intmain()

37 memset(d,0x3f,sizeof

(d));

38 q.push(ji);

39while (!q.empty()));46}

47}48 sort(edge,edge+e);

49 memset(ans,-1,sizeof

(ans));

50for(int i=1;i<=n;i++)f[i]=i;

51for(int i=0;i)

52if ((fa[edge[i].to]!=edge[i].fr)&&(fa[edge[i].fr]!=edge[i].to))62}

63for(int i=2;i<=n;i++)printf("

%d\n

",ans[i]);

64 }

view code

1009 安全路徑

題目描述 衛斯理 經常提及外星人,比如藍血人。在土星星球有很多城市,每個城市之間有一條或多條飛行通道,但是並不是所有的路都是很安全的,每一條路有乙個安全係數 s,s 是在 0和1 間的實數 包括0 1 一條從 u 到 v 的通道 p 的安全度為 safe p s e1 s e2 s ek e1,e2...

移動支付安全路線

移動支付的市場狀況 2005 年 2008 年中國移動支付使用者數 2005 年 2008 年中國移動支付市場規模 2007年底移動支付市場規模將要接近7.3億元。隨著傳統金融業資訊化呼聲的高漲,手機銀行等多種產品的應運而生極大促進了移動支付市場的發展,預計在2010 年,中國移動支付市場規模將達到...

360安全路由速度與安全並存

360安全路由 c301 是360自主研發的一款具備多重防護功能的智慧型安全路由器。360安全路由擁有全方位防黑,高速雙頻1200m 智聯智控 精工打造 高價效比等特點。從捍衛網民利益出發,首創360sos安全系統徹底解決路由器安全問題,真正做到 wifi 防入侵蹭網無門,路由 防篡改防劫持 為廣大...