はじめに 動的計画法のパターンの一つで,「Digit DP」とか「桁 DP」と呼ばれているものがあります.問題によって異なってくる部分もありますが,問題によらず共通している部分がかなりあるので,その部分を中心に解説してみたいと思います. Digit DP とは? 「ある整数 以下の非負整数であって,ある条件を満たすものの個数を求めよ」といったタイプの数え上げ問題を解くときにしばしば使われる手法です.Digit DP は,整数の各桁に入る値を 1 桁ずつ決めていくという全探索を DP 化したものです.「ある条件」の部分はとりあえず置いておいて,「 以下の非負整数を数える」というのを例にしてみようと思います.答えは当然 ですが,これを Digit DP で求めることで Digit DP の本質的なアイデアが見えてくると思います.また,求める整数は 10 進表記であるとします. Digit DP