假日住宿題解

2021-10-09 23:26:34 字數 1174 閱讀 3949

太妙了啊太妙了

大體思路:列舉每一條邊,每一條邊都對應著兩個點 (u,

v)

(u, v)

(u,v

) ,從這條邊斷開後,將出現以 u

uu , v

vv 為根節點的兩顆樹,我們就將這條邊最大化利用,就是將在左子樹的人盡可能多的移動到右子樹去(這樣一定會經過 edg

e(u,

v)

edge(u, v)

edge(u

,v) ),右子樹同理,由於每個城市只能由乙個人,所以在兩顆樹上的人交換過去的數量為兩棵子樹節點數量的最小值。

attention:為什麼這樣做不會出現乙個人多次走一條邊的情況呢?因為我們列舉的是邊,假設的是讓兩棵樹上的人交換,所以之後我們不會再遍歷這條邊了,又因為道路是一棵樹,所以不會出現環,所以也不會出現走回原點的情況。

#include

#include

#define ll long long

const

int maxn =

1e5+5;

int t, n;

ll ans;

ll dp[maxn]

;int len;

int head[maxn]

;struct edge e[maxn *2]

;//切記乘以2

void add (

int,

int,

int)

;//鏈式前向星儲存邊

void dfs (

int,

int)

;//樹形dp求出以每個節點為根節點的子樹的大小

void init ();

//初始化

ll min (ll x, ll y)

int main (

) dfs (1,

-1);

printf (

"%lld\n"

, ans);}

return0;

}void init (

)void add (

int x,

int y,

int val)

void dfs (

int u,

int father)

}

計算所住宿

想要來中科院計算所的學弟學妹一定很想知道住宿條件如何 因為我入學以前也一直想知道住宿條件 研一的時候是在雁西湖集中教學,住的是單人間 但是由於床位緊張,有可能男生住的是兩人間 大約9個人或者是個人共享乙個客廳,洗漱間,環境更類似於單元房。研二的時候住在青年公寓或者是科一招,是通過隨機分的。中科一招今...

「假日效應」催生假日彩票新文化

每年的7 8 9月暑假期間,都是世界各地休假比較多的時段,德國7 8 9月輪休 法國7月最後乙個星期至8月,幾乎全放假 義大利8月1日至9月3日也都是假日。而在這個時段各國彩票都格外受歡迎,一些國家甚至還設立彩票節,進行 據了解,不僅是在暑假,彩票 假日效應 已經蔓延到各個節日,不僅是人們假日娛樂的...

假日情節 假日回家的意義

來提高班近三年了,這是在學校度過的第三個暑假。每逢假日,我們總會談起節假日在校學習的意義的話題。現在回家能給家裡帶來什麼?現在每次回家在家呆不了幾天,爸媽會把我當寶一樣寵著,不讓幹這不讓幹那,還會做好吃的等著我 每次回家他們都會問,要多少錢啊,離家前他們會提前給我準備好我需要的生活費。我做著令自己最...