- 题解
这是我对你们的考验!!!
- @ 2025-8-19 17:34:12
这是牢师的代码。现在改了 这是老师的评测记录 很容易发现,老师的代码有问题。
观察第29行,int new_l = (l + a[i]) % k;。
老师说过,f[i][j][l]表示前i个数字里面选j个,余数为l。(除数为k)
而当我们要更新f[i+1][j+1][l]的时候,即选择第i+1个数时,
根据同余,之前余数为l,现在被除数增加a[i+1],除数为k,则新的余数new_l = (l + a[i+1]) % k;
更正后,可以AC18。
或者,输入改成for(0 to n-1)也可以。
0 条评论
目前还没有评论...