题意:求小于等于N且能被自己所有位上数之和整除的数的个数. 分析:裸的数位dp.用一个三位数组dp[i][j][k]记录:第i位,之前数位之和为j,对某个mod余数为k的状态下满足条件的个数.这里mod的值就是小于等于N的数中,所有可能出现的数位之和.所以solve函数中需要对dfs函数做一个循环,上限是9*pos(数位之和不会超过9*pos). 还有需要注意的是,在递归的时候可以通过判断当前数位之和sum是否超过mod,超过的话肯定在这个状态下没有满足条件的数,以此剪枝优化. #include…