P6033 Ryoku 的探索 基環樹

2022-10-11 07:06:09 字數 1383 閱讀 6717

題目鏈結

題解:圖為乙個基環樹。

dfs找到環,對於環上的每乙個點u, 確定與它連線的具有最小美觀度的邊的長度w, 把這個w值更新到與它連線的其他非環上點(minval陣列),則u和與它連線的其他非環上點的答案即為所有邊長度只和減去minval[i]。

code:

1 #include 2 # define ll long

long

3using

namespace

std;45

const

int maxn=1000000+10;6

const

int inf=0x7fffffff;7

struct

edgee[maxn<<1

];10

inthead[maxn];

11int

en;12

13int

n;14

intincycle[maxn];

15int

instack[maxn];

16 stackstk;

17bool

hasfind;

18int

minval[maxn];

1920

21void add(int

from, int to, int w, int

p)29

30void dfs(int u, int

pre)

39stk.pop();

40 instack[u]=0

;41 incycle[u]=1

;42 hasfind=true;43

return;44

}45 instack[u]=1;46

stk.push(u);

47for(int i=head[u];i!=-1;i=e[i].next)

52stk.pop();

53 instack[u]=0;54

}5556void setvalue(int u, int

val)63}

64}6566

intmain()

78 hasfind=false

;79 dfs(1,0

);80

81for(int i=1;i<=n;++i)92}

93}94setvalue(i,minw);95}

96}9798

for(int i=1;i<=n;++i)

101return0;

102 }

Ryoku 的新年歡樂賽

目錄洛谷 6034 ryoku 與最初之人筆記 洛谷 6035 ryoku 的逆序對 洛谷 6036 ryoku 愛學習 220菜雞苟且偷生進入前三十 有乙個 n 個點 n 條邊的無向連通圖,每條邊有長度和美觀度 美觀度各不相同 若從點 x 出發,每次選擇美觀度最大的一條邊走,如果沒有未走過的點就瞬...

洛谷 P6033 合併果子 加強版

p6033 合併果子 加強版 題目背景 本題除 資料範圍與約定 外與 p1090 完 全 一 致。題目描述 在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看...

p 與 p 的區別

p 與 p 的區別 1.int p 2 表示乙個指向一維整型陣列的指標 想想乙個簡單的指標,int q a int a 對於int p 2 a int a 2 只是對 q 的乙個擴充套件,由一維變成了二維。從指標指向的的物件就可以看出。int p 指向陣列,p 指向基本型別 不包括陣列 所以,我們可...