先建立最短路徑樹(即跑dij每乙個點向更新他的點連邊),考慮乙個點的答案路徑一定要走過且僅走過一條非樹邊,列舉非樹邊
(x,y)
,對於乙個點
k,如果它在
x~lca
上(y~lca
的路徑上同理
),那麼答案可以更改為s[y]+len(x,y)+s[x]-s[k]
,前三個不受k的影響,因此越小越好,即將每一條邊按照這個排序後依次加入,用並查集來維護即可。
1 #include2view codeusing
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 }
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 防入侵蹭網無門,路由 防篡改防劫持 為廣大...