補集轉化,關鍵在於求出有多少場會議不需要額外場地;
假設已確定兩場會議的位置,若第三場會議的位置在這兩點的路徑上,是符合要求的;
而在兩端確定的情況下,這樣的點只有兩端間路徑長度 −1-1
−1個;統計出所有路徑的長度再減去路徑數量即為答案;
每條邊會對所有路徑長度之和貢獻 siz
e[v]
∗(n−
size
[v])
size[v] * (n - size[v])
size[v
]∗(n
−siz
e[v]
);s iz
e[v]
size[v]
size[v
] 是以該邊深度較大點為根的子樹大小;
路徑數量則可以在dfs某點時,用新子樹數量乘已有子樹數量(包括該點)累加得到。
#include
inline
intread()
const
int maxn =
1e5+5;
int head[maxn]
, eid;
struct edge edge[
2* maxn]
;inline
void
insert
(int u,
int v)
int n, size[maxn]
;long
long ans =0;
void
dfs(
int u,
int fa)
}int
main()
ans =
1ll* n *
(n -1)
*(n -2)
/6;dfs(0
,-1)
;printf
("%lld"
, ans)
;return0;
}
ACM 水題 吃糖果
題目 description hoho,終於從speakless手上贏走了所有的糖果,是gardon吃糖果時有個特殊的癖好,就是不喜歡將一樣的糖果放在一起吃,喜歡先吃一種,下一次吃另一種,這樣 可是gardon不知道是否存在一種吃糖果的順序使得他能把所有糖果都吃完?請你寫個程式幫忙計算一下。inpu...
通宵教室(ACM水題)
1 題目 高校擴招,教室一度變得很緊張。學生白天上自習的地方較少,晚上教室又閒置著,怎樣才能充分利用教學資源,擴大學生自習時空呢?通宵教室解決學生自習空間有限和教學資源不充分利用的問題。開放通宵教室促進了學生學習觀念的轉變,以前課堂內外基本上是聽老師安排,現在是學生自覺在學習。晚上學習效率高 生理調...
杭電acm水題2053
刷題啊啊啊啊啊!題目 題目說有一串燈,開始的時候燈都是關閉狀態,為0.如果是迴圈i的倍數,那麼就改變它們的狀態。最終求最後一盞燈的狀態,是開啟輸出1,關閉輸出0.因為是求最後一盞燈的狀態,那麼就每層迴圈判斷它除以i是否有餘數。如果有,那就count 如果count是奇數的話,輸出1,偶數輸出0.in...