思路1 dp
时间复杂度 O(n * sqrt(n))
空间复杂度 O(n)
For each i, it must be the sum of some number (i - j*j)
and a perfect square number (j*j). 即 i = (i - j * j) + (j * j)
dp[n]表示最少使用的个数,则有(k为满足k^2<=n的最大的k)
转移方程
dp[i] = min(dp[i], dp[i-j*j]+1)
dp[i] 可以取的最小值即为 1 + min(dp[i-1], dp[i-4], dp[i-9] · · · )
Last updated