太妙了啊太妙了
大體思路:列舉每一條邊,每一條邊都對應著兩個點 (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日也都是假日。而在這個時段各國彩票都格外受歡迎,一些國家甚至還設立彩票節,進行 據了解,不僅是在暑假,彩票 假日效應 已經蔓延到各個節日,不僅是人們假日娛樂的...
假日情節 假日回家的意義
來提高班近三年了,這是在學校度過的第三個暑假。每逢假日,我們總會談起節假日在校學習的意義的話題。現在回家能給家裡帶來什麼?現在每次回家在家呆不了幾天,爸媽會把我當寶一樣寵著,不讓幹這不讓幹那,還會做好吃的等著我 每次回家他們都會問,要多少錢啊,離家前他們會提前給我準備好我需要的生活費。我做著令自己最...