[AGC009B] Tournament(多叉树转二叉树后的最小可能深度)
生活随笔
收集整理的這篇文章主要介紹了
[AGC009B] Tournament(多叉树转二叉树后的最小可能深度)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
傳送門
把aia_iai?看成faifa_ifai?,建出一棵多叉樹,再把多叉樹轉成二叉樹,轉出來的每棵二叉樹對應著一種比賽方式。
以n=8,a2,...,8=1,1,2,4,3,3,3n=8,a_{2,...,8}=1,1,2,4,3,3,3n=8,a2,...,8?=1,1,2,4,3,3,3為例,
多叉樹轉出的二叉樹深度=賽程二叉樹的深度
考慮求多叉樹轉二叉樹后的最小可能深度:
假設uuu的所有兒子vvv的子樹都已經轉化好了:
現在要把uuu的子樹轉成二叉樹:
設dep[x]dep[x]dep[x]表示以xxx為根的子樹轉成二叉樹后的最小可能深度。
要求dep[u]dep[u]dep[u],我們要找到一種排列uuu的所有兒子vvv的方式,使得max{dep[v1]+1,dep[v2]=2,...,dep[vk]+k}max\{dep[v_1]+1,dep[v_2]=2,...,dep[v_k]+k\}max{dep[v1?]+1,dep[v2?]=2,...,dep[vk?]+k}最小。
顯然把兒子按depdepdep從大到小排序即可。
總結
以上是生活随笔為你收集整理的[AGC009B] Tournament(多叉树转二叉树后的最小可能深度)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XGP到底带来哪些好处xgp有啥用
- 下一篇: [XSY3112] 接水果(树上包含路径