description
單身!依然單身!
吉哥依然單身!
ds級碼農吉哥依然單身!
所以,他生平最恨情人節,不管是214還是77,他都討厭!
吉哥觀察了214和77這兩個數,發現:
2+1+4=7
7+7=7*2
77=7*1
最終,他發現原來這一切歸根到底都是因為和7有關!所以,他現在甚至討厭一切和7有關的數!
什麼樣的數和7有關呢?
如果乙個整數符合下面3個條件之一,那麼我們就說這個整數和7有關——
1、整數中某一位是7;
2、整數的每一位加起來的和是7的整數倍;
3、這個整數是7的整數倍;
現在問題來了:吉哥想知道在一定區間內和7無關的數字的平方和。
input
輸入資料的第一行是case數t(1 <= t <= 50),然後接下來的t行表示t個case;每個case在一行內包含兩個正整數l, r(1 <= l <= r <= 10^18)。
output
請計算[l,r]中和7無關的數字的平方和,並將結果對10^9 + 7 求模後輸出。
sample input3
1 9
10 11
17 17
sample output
236
221
0 很明顯就是一道數字dp的題。
記憶化搜尋:
dfs(len,digitsum,mod,full)中:
len表示還剩下數字的數量,
digitsum代表當前數字和,
mod代表了當前除以7的餘數。
注意使用long long還有取模
**:
#include #include #define ll long long
#define mod 1000000007ll
struct node
node(bool ok):cnt(ok?1:0),sum(0),sqrsum(0){}
node(int a,int b,int c):cnt(a),sum(b),sqrsum(c){}
}f[21][7][7];
int num[21],t;
ll pwd[21];
node dfs(int len,int digitsum,int mod,bool full)
if(!full)
f[len][digitsum][mod]=ans;
return ans;
}ll work(ll n)
return dfs(num[0],0,0,true).sqrsum;
}int main()
ll a,b;
while(t--)
}
吉哥系列故事 恨7不成妻
乍一看好像是道數字dp 然而要求的是平方和。在暫時沒有其他思路的情況下 能不能用數字dp做平方和?數字dp在搜尋的時候是這麼個樣子的 比如說 abcdefghi 現在搜到 9982 e fghi 那麼現在確定了前面的9982,當前這一位和之後的fghi 都不確定。在這一位上的搜尋結果就覆蓋了efgh...
吉哥系列故事 恨7不成妻
題意 輸入t組數,每組有兩個數,求出n m區間內不含有7且不能被7整除且各個位數相加之和不被7整除的數的平方和。資料在1 1e18,結果對1e9 7。由於數太大,容易溢位,所以比較麻煩的是要把數拆開。include include include include include include in...
B 吉哥系列故事 恨7不成妻
單身 依然單身!吉哥依然單身!ds級碼農吉哥依然單身!所以,他生平最恨情人節,不管是214還是77,他都討厭!吉哥觀察了214和77這兩個數,發現 2 1 4 7 7 7 72 77 711 最終,他發現原來這一切歸根到底都是因為和7有關!所以,他現在甚至討厭一切和7有關的數!什麼樣的數和7有關呢?...