“The Concave Least-Weight Subsequence Problem Revisited”, 1998-09 (; backlinks):
[uses et al 1987 in SMAWK] We are given an integer n and a real-valued function w(i, j) defined for integers 0 ≤ i < j ≤ n and with the property that w(i0, j0) + w(i1, j1) ≤ w(i0, j1) + w(i1, j0) for 0 ≤ i0 < i1 < j0 < j1 ≤ n. 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.
1987 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.