挺裸的 ,只要注意到当k超过9*10  就直接输出0就可以了。

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <climits>
#include <string>
#include <iostream>
#include <map>
#include <cstdlib>
#include <list>
#include <set>
#include <queue>
#include <stack>
#include <math.h>
using namespace std;typedef long long LL;
LL dp[15][150][150];
LL k;
LL path[1000];LL gao(LL x, LL sum, LL mod, LL flag)
{if (~dp[x][sum][mod]&&!flag) return  dp[x][sum][mod];if (x == 0){if (sum%k == 0 && mod == 0) return 1;else return 0;}LL  bound = flag ? path[x] : 9;LL ans = 0;for (LL i = 0; i <= bound; i++){// if((mod* 10+ i ) % k > 100) continue;ans += gao(x - 1, sum + i, (mod * 10 + i) % k, flag && (i == bound));}return flag?ans : dp[x][sum][mod] = ans;
}LL solve(LL x)
{LL ret = 0;while (x){path[++ret] = x % 10;x /= 10;}return gao(ret, 0, 0, 1);
}int main()
{LL a, b;LL Icase;cin >> Icase;while (Icase--){cin >> a >> b >> k;if(k>90){cout<<0<<endl;continue;}memset(dp,-1,sizeof(dp));cout << solve(b) - solve(a - 1) << endl;}return 0;
}

转载于:https://www.cnblogs.com/yigexigua/p/4018413.html

uva11361数位dp相关推荐

  1. UVA - 11361 Investigating Div-Sum Property(数位dp/记忆化搜索板子)

    题目:https://vjudge.net/problem/UVA-11361 思路:数位dp,用记忆化搜索写,dp[pos][i][j][limit] 代表剩余有pos位,每位上的数字和模k 等于i ...

  2. 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 2774  Solved: 1230 [Submit ...

  3. 不要62 ---数位DP

    题意:求m到n中不含62和4的数的个数. 题目链接 思路:数位dp模板求满足的数字或不满足的数字,刚学,就求不满足的数. #include<stdio.h> #include<str ...

  4. bzoj 3598 [ Scoi 2014 ] 方伯伯的商场之旅 ——数位DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3598 数位DP...东看西看:http://www.cnblogs.com/Artanis/ ...

  5. cojs 简单的数位DP 题解报告

    首先这道题真的是个数位DP 我们考虑所有的限制: 首先第六个限制和第二个限制是重复的,保留第二个限制即可 第五个限制在转移中可以判断,不用放在状态里 对于第一个限制,我们可以增加一维表示余数即可 对于 ...

  6. 数位DP 不断学习中。。。。

    1, HDU 2089  不要62 :http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:不能出现4,或者相邻的62, dp[i][0],表示不存在不吉 ...

  7. [数位dp] spoj 10738 Ra-One Numbers

    题意:给定x.y.为[x,y]之间有多少个数的偶数位和减去奇数位和等于一. 个位是第一位. 样例: 10=1-0=1 所以10是这种数 思路:数位dp[i][sum][ok] i位和为sum 是否含有 ...

  8. 数位dp(求1-n中数字1出现的个数)

    题意:求1-n的n个数字中1出现的个数. 解法:数位dp,dp[pre][now][equa] 记录着第pre位为now,equa表示前边是否有降数字(即后边可不能够任意取,true为没降,true为 ...

  9. 数位dp ---- 2020 icpc 上海 Sum of Log(枚举高位的二进制数位dp)

    题目链接 题目大意 : 解题思路: 这里有个很核心的地方就是log2(i+j)\text{log2(i+j)}log2(i+j)本质上就是看看i+j\text{i+j}i+j的二进制高位在哪里? 那么 ...

最新文章

  1. jquery实现点击浏览器后退,上一页面自动刷新
  2. python编程爱心-Python使用turtle库画一个爱心构成的爱心
  3. 组件间数据交互——组件插槽的作用||具名插槽用法|| 作用域插槽
  4. 盛松成:别死盯着M2不放,社会融资规模更能反映中国实际
  5. (进阶篇)Redis6.2.0 集群 哨兵模式_搭建_01
  6. 联影uEXPLORER全身扫描仪获FDA批准,2019年初将在美国上市...
  7. Django基础—— 19.Form
  8. java addslashes_PHP防止注入攻击
  9. java awt android_Android开发基础之Java 日期时间
  10. (原)android的JNI中使用C++的类
  11. Ubuntu中USB端口与外设绑定,ROS读取IMU模块数据
  12. 最短路径系列【最短路径、哈密顿路等】
  13. Git回滚到某个commit
  14. 解密百度前端技术体系
  15. 关于CSS媒体查询--电脑尺寸大全
  16. 谜底是计算机的谜语英语,英语谜语大全及答案
  17. RT-Thread:W25Q128虚拟U盘并搭载文件系统
  18. vmware 提示该虚拟机正在使用中
  19. python实现屏幕截图
  20. 搭建宝塔面板 安装docker 安装青龙面板及xdd-plus机器人 对接诺兰等教程

热门文章

  1. Java容器Stack
  2. 运用Zabbix实现内网服务器状态及局域网状况监控(2) —— 环境配置
  3. NYOJ题目 263 精挑细选
  4. [wikioi]奇怪的梦境
  5. 浅析Java与C#的事件处理机制(转)
  6. [开发技巧3]不显示报表直接打印
  7. 超导量子计算机速度多快,我国量子计算机实现量子霸权,计算速度比谷歌快了100亿倍...
  8. nacos配置刷新失败导致的cpu上升和频繁重启,nacos配置中心源码解析
  9. Jqgried树形列表
  10. docker镜像无法删除 Error:No such image:xxxxxx