Dynamic Programming21 sections · 916 units
Open in Course

Digit Sum - Problem Statement

Classic digit DP variant

Count numbers in [L,R][L, R] whose digit sum equals SS. Classic digit DP with sum tracking. State: (pos,tight,currentSum)(pos, tight, currentSum).

Transition: try each digit, add to currentSumcurrentSum, check against SS at the end. improvement: if currentSum>ScurrentSum > S, prune. At position pospos, max remaining sum is 9(npos)9 \cdot (n - pos). If currentSum+maxRemaining<ScurrentSum + maxRemaining < S, prune. Answer = count(R)count(L1)count(R) - count(L-1). Handle L=0L = 0 carefully.