“The Concave Least-Weight Subsequence Problem Revisited”, Robert Wilber1998-09 (, ; backlinks)⁠:

[uses Aggarwal et al 1987 in SMAWK] We are given an integer n and a real-valued function w(i, j) defined for integers 0 ≤ i < jn and with the property that w(i0, j0) + w(i1, j1) ≤ w(i0, j1) + w(i1, j0) for 0 ≤ i0 < i1 < j0 < j1n. The concave least-weight subsequence problem is to find an integer k ≥ 1 and a sequence of integers 0 = l0 < l1 < … < lk − 1 < lk = n such that Σi = 0k − 1 w(li, li + 1) is minimized. One application of this problem is determining optimal line breaks in a text formatting system.

Hirschberg & Larmore1987 showed that the concave least-weight subsequence problem can be solved in 𝒪(n log n) time and that if a certain extra condition is imposed it can be solved in 𝒪(n) time.

Here we show that the concave least weight subsequence problem can always be solved in 𝒪(n) time, without any extra conditions.