Sum-of-Max Chain Partition of a Tree
Ruixi Luo, Taikun Zhu, Kai Jin
TL;DR
The paper addresses the sum-of-max chain partition problem on rooted trees under a knapsack constraint: partition the tree into chains of total weight at most $w_0$ while minimizing the sum of chain costs, defined as the maximum $s_i$ per chain. It introduces a dynamic-programming framework augmented with a novel two-layer heap-over-heap data structure, maintaining candidate costs $cost(v,i)$ via $H_x^{(v)}$ and $\mathbb{H}^{(v)}$, and uses Over-weight and Update-s-maximal procedures to update structures as the root window changes. The main result is an $O(n\log n)$ algorithm, with a generalized version using rank-based dominance ($r$-maximal) that preserves the same time bound. These techniques enable efficient, scalable chain partitioning on trees and extend to broader chain-cost definitions, informing related path-partition and decomposition problems.
Abstract
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$.
