1. 程式人生 > >[bzoj3648]寢室管理【環套樹】【點分治】

[bzoj3648]寢室管理【環套樹】【點分治】

T64有一個好朋友,叫T128。T128是寄宿生,並且最近被老師叫過去當宿管了。宿管可不是一件很好做的工作,碰巧T128有一個工作上的問題想請T64幫忙解決。T128的寢室條件不是很好,所以沒有很多錢來裝修。禮間寢室僅由n-1條雙向道路連線,而且任意兩間寢室之間都可以互達。最近,T128被要求對一條路徑上的所有寢室進行管理,這條路徑不會重複經過某個點或某條邊。但他不記得是哪條路徑了。他只記得這條路徑上有不少於k個寢室。於是,他想請T64幫忙數一下,有多少條這樣的路徑滿足條件。嗯…還有一個問題。由於最近有一些熊孩子不準晚上講話很不爽,他們決定修築一條“情報通道”,如果通道建成,寢室就變成了一個N個點N條邊的無向圖。並且,經過“情報通道”的路徑也是合法的。T128心想:通道建成之前,T64還有一個高效的演算法幫我數路徑條數,但是通道建成之後,他還有辦法嗎?對,T64手忙腳亂,根本數不清有多少條路徑。於是他找到了你。