博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
J - 吉哥系列故事――恨7不成妻
阅读量:4932 次
发布时间:2019-06-11

本文共 1599 字,大约阅读时间需要 5 分钟。

1 #include "cstdio" 2 #include "math.h" 3 #include "cstring" 4 #define mod 1000000007LL 5 #define LL long long 6  7 struct node 8 { 9     LL cnt,sum,sqsum;10     node() {cnt=-1;sum=sqsum=0;}11     node(LL cnt,LL sum,LL sqsum):cnt(cnt),sum(sum),sqsum(sqsum) {}12 }dp[20][10][10];13 14 LL a[20],p[25];15 16 node dfs(int pos,int re1,int re2,bool limit)17 {18     if(!pos) return re1!=0&&re2!=0?node(1,0,0):node(0,0,0);19     if(!limit&&dp[pos][re1][re2].cnt!=-1) return dp[pos][re1][re2];20     int up=limit?a[pos]:9;21     node ans;ans.cnt = 0;22     for(int i=0;i<=up;i++)23     {24         if(i==7) continue;25         node next=dfs(pos-1,(re1+i)%7,(re2*10+i)%7,limit&&i==up);26         ans.cnt+=next.cnt;27         ans.cnt%=mod;28         ans.sum+=(next.sum+((p[pos]*i)%mod)*next.cnt%mod)%mod;29         ans.sum%=mod;30         ans.sqsum+=(next.sqsum+((2*p[pos]*i)%mod)*next.sum)%mod;31         ans.sqsum%=mod;32         ans.sqsum+=((next.cnt*p[pos])%mod*p[pos]%mod*i*i%mod);33         ans.sqsum%=mod;34     }35     if(!limit) dp[pos][re1][re2]=ans;36     return ans;37 }38 39 LL f(LL x)40 {41     int pos=0;42     while(x)43     {44         a[++pos]=x%10;45         x/=10;46     }47     node tt=dfs(pos,0,0,true);48     return tt.sqsum;49 }50 51 int main()52 {53     int T;54     LL l,r;55     scanf("%d",&T);56     p[1]=1;57     for(int i=2;i<=20;i++) p[i]=(p[i-1]*10)%mod;58     while(T--)59     {60         scanf("%I64d%I64d",&l,&r);61         LL ans=f(r);62         ans-=f(l-1);63         printf("%I64d\n",(ans%mod+mod)%mod);64     }65 }

 

转载于:https://www.cnblogs.com/ouyang_wsgwz/p/9135634.html

你可能感兴趣的文章
数据结构 二叉树
查看>>
JavaMe开发,模拟器打开一片空白~
查看>>
My second day of OpenCV
查看>>
用户在电商网站中购买成功了,那么它在微服务中经历了什么(转)
查看>>
arts-week2
查看>>
java笔试之自守数
查看>>
getElementsByName
查看>>
IIS 6.0上部署.NET 4.0网站
查看>>
切图基本知识
查看>>
Web--TypeConverter
查看>>
frameset 的用法 Java Web
查看>>
开发者们看过来,这场长沙的开发者技术大会正在为你而来~
查看>>
课后作业—阅读任务—阅读提问—1
查看>>
GCD技术小结
查看>>
spring学习六
查看>>
python KMP算法介绍
查看>>
MOVE - 重定位一个游标
查看>>
showfont - 展示当前"显示屏-字体 映射"中的所有字符.
查看>>
node.js 关于跨域和传递给前台参数
查看>>
sprintboot 发布
查看>>