这是牢师的代码。现在改了 这是老师的评测记录 很容易发现,老师的代码有问题

SoSo

观察第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 条评论

目前还没有评论...