DP(Dynamic Programming、動的計画法)
https://ja.wikipedia.org/wiki/動的計画法