Codeforces Round #665 (Div. 2) - D. Maximum Distributed Tree

問題リンク

ゆきこにこれの簡単バージョンがある

解説

各経路を考えると大変なので、各辺が合計で何回通るかを考えましょう

これは部分木サイズを注目することで、 O(n)で求めることができます。

あとは通る回数が小さいほうから、小さい pを割り当てていけば終わります

提出コード

codeforces.com