Sum-of-Max Chain Partition of a Tree
摘要
Path partition problems on trees have found various applications. In this paper, we present an \(O(n \log n)\) time algorithm for solving the following variant of path partition problem: given a rooted tree of n nodes \(1, \ldots , n\) , where vertex i is associated with a weight \(w_i\) and a cost \(s_i\) , partition the tree into several disjoint chains \(C_1,\ldots ,C_k\) , so that the weight of each chain is no more than a threshold \(w_0\) and the sum of the largest \(s_i\) in each chain is minimized. We also generalize the algorithm to the case where the cost of a chain is determined by the \(s_i\) of the vertex with the highest rank in the chain, which can be determined by an arbitrary total order defined on all nodes instead of the value of \(s_i\) .