山東財經大學新生賽暨天梯賽選拔賽 E 旅行商問題

2021-09-19 14:51:23 字數 678 閱讀 6418

旅行商來到了乙個新的國家,這個國家有n個城市,他們直接由n-1條道路相連線,每條道路的長度不盡相同

旅行商現在在1號城市,若他要每乙個城市都遊覽一遍,他需要行走的最短路程是多少?

第一行乙個數n (50000>n>1)

代表城市個數

之後n-1行

每行三個數x y z

代表從x到y的距離為z

輸出最小距離
示例1

複製

3

1 2 1

1 3 1

複製

3
很簡單的dfs

不會出現環,那麼需要來回走兩遍,減去最長路就行了

#include using namespace std;

typedef long long ll;

const int maxn = 1e5+10;

std::vector< pair> g[maxn];

int n,sum;

int dfs(int u,int fa)

return res;

}int main()

printf("%d\n",(sum<<1)-dfs(1,0));

return 0;

}

新生選拔賽(二)

思路 首先,我們分析題意可以發現,先將花瓣數列進行排序,如果兩端的花不能被消去,那麼,就肯定找不到唯一的一朵花,而且當n 1時肯定有唯一的花朵,當n不等於一時我們首先需要考慮花瓣中有無重複的數字,如果有重複的數字我們肯定要進行去重,因為只有資料中留有這個資料且能夠消去,那麼重複的花瓣都能消去,然後我...

問題 A 天梯選拔賽 A CUMTB

設lcm x,y 為x和y的最小公倍數,然然很喜歡數學,他想知道,對於兩個數l和r,能否在 l,r 區間內找到兩個數x,y,使得lcm x,y 也在這個區間內。很顯然,直接暴力,兩層for,會超時,想著用折半查詢,也會超時。那麼,就要從觀察資料的規律入手了,若2 l r,那麼很顯然l,2 l是所要求...

2021 3 20第一次天梯賽選拔賽補題

l2 3 完全二叉樹的層序遍歷 25 分 這道題是2020年天梯賽的題,之前補過一次但是這一次又沒有打出來,之前補的那個方法太麻煩了,這次換乙個簡單的方法補題 思路 由於完全二叉樹是完美二叉樹的一部分,所以可以通過點的數量先構架出乙個完全二叉樹,然後在把數值一一填入,構成乙個完整的二叉樹 從網上看的...