需要推下平方和的式子..维护个数,和,平方和. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define mod 1000000007LL using namespace std; ],tab[],ret=,t,l,r; struct pnt { long long val1,val2,val3; pnt (long long val1,long lon…
题意:给定区间[L, R]求区间内与7无关数的平方和.一个数当满足三个规则之一则认为与7有关:1.整数中某一位是7:2.整数的每一位加起来的和是7的整数倍:3.这个整数是7的整数倍: 分析:初看起来确实有点麻烦,数位DP还是很容易看出来的,需要维护好三个值dp[ i ][ j ][ k ].num表示数位和为对7的余数为 j ,前面确定的数对7的余数为 k 的情况下, i 位任意与7无关的数一共有多少个:同理 dp[ i ][ j ][ k ].sum 表示这些数的和为多少:dp[ i ][ j…