HDU 4514 湫湫系列故事 設計風景線

2021-06-25 21:50:05 字數 1374 閱讀 9352

description

隨著杭州西湖的知名度的進一步提公升,園林規劃專家湫湫希望設計出一條新的經典觀光線路,根據老闆馬小騰的指示,新的風景線最好能建成環形,如果沒有條件建成環形,那就建的越長越好。

現在已經勘探確定了n個位置可以用來建設,在它們之間也勘探確定了m條可以設計的路線以及他們的長度。請問是否能夠建成環形的風景線?如果不能,風景線最長能夠達到多少?

其中,可以興建的路線均是雙向的,他們之間的長度均大於0。

input

測試資料有多組,每組測試資料的第一行有兩個數字n, m,其含義參見題目描述;

接下去m行,每行3個數字u v w,分別代表這條線路的起點,終點和長度。

[technical specification]

1. n<=100000

2. m <= 1000000

3. 1<= u, v <= n

4. w <= 1000

output

對於每組測試資料,如果能夠建成環形(並不需要連線上去全部的風景點),那麼輸出yes,否則輸出最長的長度,每組資料輸出一行。

sample input

3 3

1 2 1

2 3 1

3 1 1

sample output

yes 

思路:re到**的地步,hdu竟然有個棧的初始化:

#pragma

comment

(linker

,"/stack:1024000000,1024000000"

),一口老血噴出來,首先判斷環形:並查集,然後就是樹形dp

#include #include #include #include #include #pragma comment(linker, "/stack:1024000000,1024000000")

using namespace std;

const int maxn = 100005;

struct edge

edge(int v, int f)

};vectorve[maxn];

int n, m, ans;

int fa[maxn], dp[maxn];

int find(int x)

void dfs(int p, int u)

dp[u] = max;

}void solve()

int main()

for (int i = 0; i < m; i++)

if (flag)

solve();

} return 0;

}

hdu4514 湫湫系列故事 設計風景線

求樹的最長直徑,之前做過hdu2196,套用那道題的思路,兩次dfs,求出每個結點的最長直徑,然後找出最大的即為整棵樹的最長直徑 pragma comment linker,stack 102400000,102400000 include include include define m 1000...

湫湫系列故事 設計風景線

湫湫系列故事 設計風景線 time limit 3000ms memory limit 32768kb 64bit io format i64d i64u submit status practice hdu 4514 description 隨著杭州西湖的知名度的進一步提公升,園林規劃專家湫湫希望...

HDU4544 湫湫系列故事 消滅兔子

hdu 4544 tags 資料結構,貪心 analysis 將兔子的血量從大到小排序,將箭的殺傷力從大到小排序,對於每乙個兔子血量,將比他大的殺傷力大的劍壓入優先佇列,優先佇列自己重寫,讓它每次丟擲的數為價錢最小。code include include include include using...