2011分割槽聯賽模擬試題 電子眼 樹形DP

2021-10-01 11:12:03 字數 2460 閱讀 4176

原題鏈結傳送門

d es

crip

tion

description

descri

ptio

n中山市石乙個環境優美、氣候宜人的小城市。因為城市的交通並不繁忙,市內的道路網很稀疏。準確地說,中山市有n-1條馬路和n個路口,每條馬路連線兩個路口,每兩個路口之間最多只有一條馬路。作為一條交通網路,顯然每兩個路口之間都是可達的。為了更好地管理中山市的交通,市長決定在一些路口加裝電子眼,用來隨時監視路面情況。這些裝在路口的電子眼能夠監視所有連線到這個路口的馬路。現在市長想知道最少需要在多少個路口安裝電子眼才能監視所有的馬路。市長已經把所有的路口都編上了1~n的號碼。

給你中山市的地圖,你能幫忙嗎?

i np

ut

input

inpu

t輸入檔案traffic.in的第1行包括乙個數字n(1<=n<=100000),表示中山市的路口數。接下來n-1行,每行兩個數字x_i和y_i,用來描述n-1條路所連線的兩個路口的編號。

o ut

pu

toutput

output

輸出最少需要安裝電子眼的數量。

s am

plei

nput

sample ~input

sample

inpu

t31 21 3

s am

pleo

utpu

tsample ~output

sample

outp

uth in

thint

hint

30% n<=100

50% n<=1000

100% n<=100000

樹型動規

一看資料範圍十萬

鄰接矩陣顯然原地**。

這裡需要用到鄰接表(鏈式前向星)

但是我不會啊!!!

那就學唄

利用鏈式儲存結構。

對於每乙個頂點,開一條鏈,

依次儲存以該點為起點的邊。

下面的**用e陣列儲存邊的資訊,

head[i]儲存i這個頂點對應的鏈的起始位置。

同時e中的next域使所有起始點為i的邊連成一條鏈。

void

add(

int x,

int y)

會了鄰接表就好辦啦!!!

如果當前路口裝電子眼,那麼和它相連的路口可裝可不裝,則

f [r

oot]

[1]+

=min

(f[a

[i].

to][

0],f

[a[i

].to

][1]

)f[root][1]+=min(f[a[i].to][0],f[a[i].to][1])

f[root

][1]

+=mi

n(f[

a[i]

.to]

[0],

f[a[

i].t

o][1

])如果當前路口不裝電子眼,那麼和它相連的路口必須裝,則

f [r

oot]

[0]+

=f[a

[i].

to][

1]

f[root][0]+=f[a[i].to][1]

f[root

][0]

+=f[

a[i]

.to][1]

#include

#include

using

namespace std;

const

int n=

100100

;int n,x,y,head[

1001000

],tot,f[

1001000][

2];int bj[

1001000];

struct note

e[n*2]

;void

ljb(

int x,

int y)

voiddp(

int now)

}int

main()

dp(1)

; cout<<

min(f[1]

[0],f[1]

[1])

;return0;

}

2011分割槽聯賽模擬試題 電子眼

中山市石乙個環境優美 氣候宜人的小城市。因為城市的交通並不繁忙,市內的道路網很稀疏。準確地說 中山市有n 1條馬路和n個路口,每條馬路連線兩個路口,每兩個路口之間最多只有一條馬路。作為一條交通網路,顯然每兩個路口之間都是可達的。為了更好地管理中山市的交通,市長決定在一些路口加裝電子眼,用來隨時監視路...

2023年分割槽聯賽普級組之四 裝

description 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30 每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。input 乙個整數,表示箱子容量。乙個整數,表示有n個物品。接下來n行,分別表示這n 個物品的各自體積 ou...

2023年分割槽聯賽普級組之一 不

description 津津上初中了。媽媽認為津津應該更加用功學習,所以津津除了上學之外,還要參加媽媽為她報名的各科複習班。另外每週媽媽還會送她去學習朗誦 舞蹈和鋼琴。但是津津如果一天上課超過八個小時就會不高興,而且上得越久就會越不高興。假設津津不會因為其它事不高興,並且她的不高興不會持續到第二天。...