「HDU-6141」I am your Father!
求最大树形图,并最小化点n父亲结点的编号
题意
给定一个有向图,求出以1为根的最大树形图,如果有多个,则使$n$结点的父亲节点编号最小。输出边权和$W$和点$n$的父亲节点。
思路
对于$W$,可以直接对边权取负,跑一遍朱刘算法。
为使点$n$的父亲节点编号最小,需要对连向点$n$的边进行加权操作,并且需要保证加权后的权值不会影响原图。
对于原图上的边,对边权*1000,而加权操作加上的权值为起始点$u$的编号(不超过1000),即可保证在不影响原结果的情况下,求出父节点编号最小的解。
代码
1 |
|