Website:
- 糖果
Solution
- 类似于背包,我们设f[i][j]为第i件物品,取模k为j的最大值,我们不难得出,状态转移为选或不选,不选就是
1
f[i][j]=f[i-1][j]
选就是1
f[i][(f[i-1][j]+a[i])%k]=max(~,f[i-1][j]+a[i])
为了节省更多空间,我用了滚动数组,对于本题来说,数据较小,可省略。
Code
1 |
|
rp++
爱你所爱,行你所幸;听从你心,我问西东。
1 | f[i][j]=f[i-1][j] |
选就是1
f[i][(f[i-1][j]+a[i])%k]=max(~,f[i-1][j]+a[i])
为了节省更多空间,我用了滚动数组,对于本题来说,数据较小,可省略。
1 | #include<iostream> |
rp++