吉哥系列故事——恨7不成妻(数位 DP)
吉哥系列故事——恨7不成妻
#include <bits/stdc++.h>using namespace std;const int mod = 1e9 + 7;inline int add(int x, int y) {return x + y < mod ? x + y : x + y - mod;
}inline int sub(int x, int y) {return x >= y ? x - y : x - y + mod;
}struct Res {int cnt, sum1, sum2;
}f[20][10][10];int num[20], p[20], cnt;Res dfs(int pos, int sum, int remain, int flag) {if (!pos) {if (sum != 0 && remain != 0) {return {1, 0, 0};}else {return {0, 0, 0};}}if (!flag && f[pos][sum][remain].cnt != -1) {return f[pos][sum][remain];}Res ans = {0, 0, 0};int nex = flag ? num[pos] : 9;for (int i = 0; i <= nex; i++) {if (i == 7) {continue;}Res cur = dfs(pos - 1, (sum + i) % 7, (remain * 10 + i) % 7, i == nex && flag);ans.cnt = add(ans.cnt, cur.cnt);int s = 1ll * i * p[pos] % mod;ans.sum1 = add(ans.sum1, add(1ll * s * cur.cnt % mod, cur.sum1));ans.sum2 = add(add(ans.sum2, 1ll * cur.cnt * s % mod * s % mod), add(cur.sum2, 2ll * s % mod * cur.sum1 % mod));}if (!flag) {f[pos][sum][remain] = ans;}return ans;
}int calc(long long x) {cnt = 0;while (x) {num[++cnt] = x % 10;x /= 10;}return dfs(cnt, 0, 0, 1).sum2;
}int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);for (int i = 0; i < 20; i++) {for (int j = 0; j < 10; j++) {for (int k = 0; k < 10; k++) {f[i][j][k].cnt = -1;}}}p[1] = 1;for (int i = 2; i < 20; i++) {p[i] = 1ll * p[i - 1] * 10 % mod;}int T;scanf("%d", &T);while (T--) {long long l, r;scanf("%lld %lld", &l, &r);printf("%lld\n", sub(calc(r), calc(l - 1)));}return 0;
}
吉哥系列故事——恨7不成妻(数位 DP)相关推荐
- HDU 4507 吉哥系列故事――恨7不成妻 数位DP
吉哥系列故事--恨7不成妻 Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tot ...
- HDU-4507 吉哥系列故事――恨7不成妻 (数位dp)
J - 吉哥系列故事――恨7不成妻 HDU - 4507 题解:数位dp 和简单的数位dp不同,这道题要算所有合法数的平方和 考虑到一个数可以写成X=ΣAi*Pi,(其中Ai为X每一位的值,Pi=10 ...
- hdu4507吉哥系列故事——恨7不成妻 (数位dp)
Problem Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: ...
- HDU - 4507 吉哥系列故事——恨7不成妻(数位dp)
题目链接:点击查看 题目大意:给出闭区间[l,r],求出区间内与7不沾边的数的平方和 与7有关的条件: 整数中某一位是7: 整数的每一位加起来的和是7的整数倍: 这个整数是7的整数倍: 题目分析:抛去 ...
- HDU4507 吉哥系列故事――恨7不成妻 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4507 题意:求[L,R](1 <= L <= R <= 10^18)区间内和7无关的 ...
- HDU 4507 吉哥系列故事——恨7不成妻 详解(变态数位DP)
Problem Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: ...
- HDU - 4507 吉哥系列故事――恨7不成妻 (数位DP)
Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 ...
- HDU4507吉哥系列故事――恨7不成妻
单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 7+7 ...
- HDU 4507 吉哥系列故事――恨7不成妻 (平方拆解 + *数位DP 总结)
单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 7+7 ...
最新文章
- android 中组件继承关系图,一目了然
- 感谢球,感谢铁道部,感谢电信,我终于定到回武汉的票了
- php表单提取,php – 使用RegEx提取表单字段
- java 正则高级应用_JAVA正则表白式高级用法(分组与捉拿).
- 程序员修神之路--分布式高并发下Actor模型如此优秀
- 农用圆形打捆机行业调研报告 - 市场现状分析与发展前景预测
- php memcache数据类型,php读取memcache二进制数据
- centOs环境初始化运行nginx+redis+zookeeper+dubbo_admin
- 象棋游戏显示服务器断开,天天象棋黑屏闪退怎么办 游戏玩不了解决方法
- 有道无术,术尚可求,有术无道,止于术
- 最小生成树算法之Kruskal算法
- 作为互联网+项目负责人的一些感悟
- 每年都要调两次时间,美国人已经烦透了
- Linux 平台安装 VNC
- [从 0 开始写一个操作系统] 三、Bootloader 的实现
- 怎样实现订单和销量快速增长?电商小程序的五大裂变玩法需了解!
- Pboot插件-包含所有Pboot插件功能
- 复旦大学计算机科学技术学院期末,复旦大学计算机科学技术学院多媒体技术基础试题...
- IntellIJ IDEA导入项目后无法运行方法的解决方法!
- 名帖335 智永 草书《真草千字文》
热门文章
- python图片解析库_python用来获得图片exif信息的库实例分析
- 计算机辅助翻译的启示,翻译单位研究对计算机辅助翻译启示.PDF
- html文本框整数范围,验证HTML表单文本框中的数值范围。 PHP或Javascript
- nx二次开发c语言,NX二次开发-UFUN API函数编程基础
- 王道408数据结构——第四章 串(KMP算法)
- 利用水的浮力测量物体的重量,这个方法称象可靠吗?
- 已婚男人看见美女都这个眼神?
- 深度学习会不会被取代?深度学习必看发展史
- 不只是舒适,简直是享受,Google公司用的腰靠,到底有什么秘密?
- 三个字帮大家总结一下刘强东事件