求出對於樹上每個點 \(x\) 的 \(\sum_^ndis(x,u)^k\)。所有邊長為 1。
根據斯特林反演:
\[m^n=\sum_^n\beginn\\j\endc_m^jj!
\]可以得到:
\[\sum_^n\sum_^\begink\\j\endc_^jj!\\
=\sum_^\begink\\j\endj!\sum_^nc_^j\\
=\sum_^\begink\\j\endj!\sum_^n(c_^+c_^j)
\]我們只需要 dp 一邊維護後面的組合數部分的值就行了。最後一步是為了推出轉移式,設 \(f_\) 為 \(\sum_^nc_^j\),則有:
\[f_=\sum_f_+f_
\]再進行一步換根最後代回原式得出答案即可。
#include#include#include#include#include#includeusing namespace std;
inline int read()
namespace star
int n,k,f[maxn][maxm],g[maxn][maxm],s[maxm][maxm],mul[maxm];
void dfs1(int x,int fa)
} void dfs2(int x,int fa)
for(int u,i=head[x];i;i=nxt[i]) if((u=to[i])!=fa) dfs2(u,x);
} inline void work() }}
signed main()
國家集訓隊 Crash 的文明世界
洛谷 套路題,直接上斯特林數把指數搞成組合數 begin s i sum d i,j k sum sum s 2 k,t binomt sum ks 2 k,t t sum binom end 注意到 k 很小,我們考慮 dp 設後面一塊為 f 並且只運算元樹的貢獻,即 beginf sum bin...
國家集訓隊 旅遊
題目背景 ray 樂忠於旅遊,這次他來到了 t 城。t 城是乙個水上城市,一共有 nn 個景點,有些景點之間會用一座橋連線。為了方便遊客到達每個景點但又為了節約成本,t 城的任意兩個景點之間有且只有一條路徑。換句話說,t 城中只有 n 1n 1 座橋。ray 發現,有些橋上可以看到美麗的景色,讓人心...
國家集訓隊 Tree I
題目 給你乙個無向帶權連通圖,每條邊是黑色或白色。讓你求一棵最小權的恰好有nee dneed need 條白色邊的生成樹。題目保證有解。思路 凸優化裸題,要注意的就是,優先選白色 優先選黑色也行 主要是同一斜率可能會切到很多點,那麼就要有乙個標準,要麼選最小點,要麼選最大。另外求出來的點不一定是ne...