Capacity-indexed dynamic programming and the direction of one-dimensional updates.
Density-ordered selection when items are continuously divisible.