第一题动态规划,被3整除只需要各个位数加起来能被3整除就可以了,所以只需要记录前i个数的余数就可以了,令dp[i][j]表示前i个数的和并且被3整除的余数为j的方案数。先计算出l-r中余数分别为0,1,2的个数为a[0],a[1],a[2].那么就有状态转移方程dp[i][k]+=dp[i][j]*a[(3+k-j)%3]