一本通1590恨 7 不成妻

2022-05-08 02:00:11 字數 2775 閱讀 5589

時間限制: 1000 ms         記憶體限制: 524288 kb

單身!依然單身!

吉哥依然單身!

ds 級碼農吉哥依然單身!

所以,他平生最恨情人節,不管是 214

'>

214 還是 77

'>7

7,他都討厭!

吉哥觀察了 214

'>

214 和 77

'>

77 這兩個數,發現:2+

1+4=

7'>2+1+4=77+

7=7×

2'>7+7=7×277=

7×11'>77=7×11

最終,他發現原來這一切歸根到底都是因為和 77

'>

7 有關!所以,他現在甚至討厭一切和 7

'>

7 有關的數!

什麼樣的數和 7

'>

7 有關呢?如果乙個整數符合下面三個條件之一,那麼我們就說這個整數和 7

'>

7 有關:

整數中某一位是 7

'>7

;整數的每一位加起來的和是 7

'>

7 的整數倍;

這個整數是 7

'>

7 的整數倍。

現在問題來了:吉哥想知道在一定區間內和 7

'>

7 無關的數字的平方和。

輸入資料的第一行是測試資料組數 t

'>t

,然後接下來的 t

'>

t 行表示 t

'>

t 組測試資料。

每組資料在一行內包含兩個正整數 l,r

'>l,r

。對於每組資料,請計算 [l,r

'>l,r

] 中和 7

'>

7 無關的數字的平方和,並將結果對 109+

7'>10^9+7

取模後輸出。

3

1 910 11

17 17

236

2210

對於全部資料,1≤t

≤50,1

≤l≤r

≤1018'>

1≤t≤50,1≤l≤r≤10^18 。1≤

t≤50,

1≤l≤

r≤1018

'>sol:如果只是統計個數就簡單多了,然並卵是統計平方和,於是就愉快地看題解去了1≤

t≤50,

1≤l≤

r≤1018

'>(noooooooooooo)1≤

t≤50,

1≤l≤

r≤1018

'>計算與7無關的數的和 當前這位的貢獻就是(要填的數i)*(10^位數),設這個貢獻為a

下乙個狀態是tmp,這個狀態的平方和+=(a+tmp[與7無關的數的和])2  , 就是a2 +2*a*tmp[與7無關的數的和]+

#include using

namespace

std;

typedef

long

long

ll;inline ll read()

while

(isdigit(ch))

return (f)?(-s):(s);

}#define r(x) x=read()inline

void

write(ll x)

if(x<10

)

write(x/10

); putchar((x%10)+'0'

);

return;}

inline

void

writeln(ll x)

#define w(x) write(x),putchar(' ')

#define wl(x) writeln(x)

const ll mod=1000000007

;int t,num[20

];ll bin[

20];

struct

record

dp[20][10][10][2][2

];inline record dfs(

int weiz,int pre1,int pre2,bool shangj,bool

qiand0)

; }

record ans=(record);

int i,up=(shangj)?(num[weiz]):(9

);

for(i=0;i<=up;i++) if(i!=7

)

return (dp[weiz][pre1][pre2][shangj][qiand0]=ans);

}inline ll solve(ll n)

inti,j,k,ii,jj;

for(i=0;i<20;i++) for(j=0;j<10;j++) for(k=0;k<10;k++)

for(ii=0;ii<2;ii++) for(jj=0;jj<2;jj++) dp[i][j][k][ii][jj].vis=0

;

return dfs(*num,0,0,1,1).pingf_he%mod;

}int

main()

return0;

}/*input

31 9

10 11

17 17

output

236221

0*/

view code

恨 7 不成妻

求出一段區間內與 7 無關的數的平方和,我們定義這個數與 7 有關當且僅當這個數滿足下列條件之一 1 某一位為 7 2 數字和為 7 的倍數 3 這個數本身是 7 的倍數。這題並不算裸的數字 dp 題,顯然如果對於計數我們很容易得到這個區間內滿足條件的個數,而為了使數字 dp 的 dp 能夠有子狀態...

數字dp(恨7不成妻)

hdu 4507 吉哥系列故事 恨7不成妻 數字dp 思路 想必普通的統計滿足條件的個數都會吧,這裡就不在贅述了,dp i j k 代表長度為i,數字對7取餘數為j,數字各個位數加起來對7取餘數k 僅僅用dp i j k 的值代表個數是不能得到答案的,還要統計滿足條件的和還有平方和 開結構體,維護和...

數字dp 恨7不成妻

題目描述 單身!依然單身!吉哥依然單身!ds 級碼農吉哥依然單身!所以,他平生最恨情人節,不管是 214 還是 77 他都討厭!吉哥觀察了 214 和 77 這兩個數,發現 2 1 4 7 7 7 7 2 77 7 11 最終,他發現原來這一切歸根到底都是因為和 7 有關!所以,他現在甚至討厭一切和...