select/partial sort
substring
knapsack