單源最大權路徑

2021-08-04 12:34:36 字數 1092 閱讀 3444

description 

有一棵由n個結點構成的樹,每一條邊上都有其對應的權值。現在給定起點,求從該點出發的一條路徑(至少有一條邊)使得這條路徑上的權值之和最大,並輸出這個最大值。

input 

第一行乙個正整數t,代表資料組數。每組資料第一行兩個正整數n(2<=n<=10^5),s(1<=s<=n),分別表示樹結點數目以及給定的起點,點的編號從1至n。接下來m行,每行三個整數x,y,z,(1<=x,y<=n,|z|<=1000),代表編號為x和y的點之間有一條權值為z的雙向邊。

output 

每組資料輸出一行,即所找到路徑的最大權值(格式參見樣例)。

sample input 

2 3 1 

1 2 10 

1 3 5 

5 5 

1 5 70 

4 3 100 

5 3 -10 

2 5 60 

sample output 

case #1: 10 

case #2: 90 

hint 

source 

2023年6月月賽-暨中南大學暑期集訓選拔賽第二場

author 

xushu

看完思路還是有的,直接搜尋起點到每個鄰節點的最大值,一直搜尋到最後的鄰節點沒有其他的鄰接節點為止

**還是根據網上的題解寫的,還不太熟練使用vector的二維操作。

#include #include #include #include #include #include #include #include #include #include #includeconst double eps=1e-8;

const double pi=acos(-1.0);

using namespace std;

const int max=1e5+5;

struct edgeedge;//存放鄰節點和邊的權值

vectore[max];

int v[max];

int dis[max];

void dfs(int start){

v[start]=1;

for(int i=0;i

CSU 1960 B 單源最大權路徑

有一棵由n個結點構成的樹,每一條邊上都有其對應的權值。現在給定起點,求從該點出發的一條路徑 至少有一條邊 使得這條路徑上的權值之和最大,並輸出這個最大值。input 第一行乙個正整數t,代表資料組數。每組資料第一行兩個正整數n 2 n 10 5 s 1 s n 分別表示樹結點數目以及給定的起點,點的...

最大權值和路徑

有乙個機械人位於乙個m n個網格的右上角。機械人每一時刻只能向下或者向左移動一步。機械人試圖達到網格的左下角。每個網格上有乙個數字權值,機械人希望它走到左下角的路徑權值和最大。問這個最大路徑權值和是多少?例1 輸入 1,2,3,4 3,5,6,7 9,10,1,2 4,4,5,5 輸出 45.解釋 ...

CSU暑期集訓day05 DFS 單源最大權路徑

有一棵由n個結點構成的樹,每一條邊上都有其對應的權值。現在給定起點,求從該點出發的一條路徑 至少有一條邊 使得這條路徑上的權值之和最大,並輸出這個最大值。第一行乙個正整數t,代表資料組數。每組資料第一行兩個正整數n 2 n 10 5 s 1 s n 分別表示樹結點數目以及給定的起點,點的編號從1至n...