Candies
思路
朴素的算法
设\(f_{i,j}\)表示给前\(i\)个小朋友分\(j\)个糖的方案数,
注意到此时时间复杂度为\(O(n\times k^2)\)
想到用前缀和进行优化,设\(s_{i,j}\)表示\(\sum_{j=0}^{k}f_{i,j}\)
则\(DP\)转移方程
答案就是\(f_{n,k}\)
\(code\)
code
注,可以用滚动数组,优化空间复杂度
朴素的算法
设\(f_{i,j}\)表示给前\(i\)个小朋友分\(j\)个糖的方案数,
注意到此时时间复杂度为\(O(n\times k^2)\)
想到用前缀和进行优化,设\(s_{i,j}\)表示\(\sum_{j=0}^{k}f_{i,j}\)
则\(DP\)转移方程
答案就是\(f_{n,k}\)
code
注,可以用滚动数组,优化空间复杂度