Hiho! is a serial contests we developed to help programmers improve their skills following some architecture. After the problems in "String" serial, we now focus on "Dynamic programming". One of the core idea of Dynamic programming is not to calculate what has been calculated, not to calculate what is no used, and Hi call this idea "Release Redundancy". But this kind of technique is learning required. So we collect some classic dynamic programming problem here, analysis the redundancy in it, summerize the its regularity. Hope it will help your programming thinking.
And this problem "0/1 knapsack" introduced a problem that occurs alot even in real world - Arrangment goods with multiple keywords, and this kind of problem also has a number of variants such as "Infinite knapsack" and "Multiple knapsack" in "knapsack" model. In this week's story, Hi and Ho will focus on the thought of "knapsack" problem, and turn to variants in next week~ So just come and learn it with Hi and Ho.