HDU - 3652
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>
#include<iostream>
#include<ctype.h>
#include<map>
#include<set>
#include<string>
#include<vector>
#include<algorithm>
#include<stdlib.h>
#include<queue>
#include<stack>
using namespace std;
#define LL long long
LL dp[][][],num[];
LL dfs(int pos,int mod,int st,int limit)//pos为数位从高位开始枚举(达到上限再枚举下一位),mod为对13求余,初始为0,st为状态,初始为0,limit为是否达到上限,1达到上限,0没有达到上限继续枚举
{
if(pos<)
return mod==&&st==;
if(!limit&&dp[pos][mod][st]!=-)
return dp[pos][mod][st];
int len=limit?num[pos]:;//判断上一位是否到上限,若达到则只能枚举到num【pos】,否则可以枚举0——9
int modx,stx;
LL ans=;
for(int i=;i<=len;i++)
{
modx=(mod*+i)%;
stx=st;
if(st==&&i!=)
stx=;
if(st==&&i==)
stx=;
if(st==&&i==)
stx=;
ans+=dfs(pos-,modx,stx,limit&&i==len);
}
if(!limit)//没有达到上限的都要存储一下该状态下的符合条件数;
dp[pos][mod][st]=ans;
return ans; }
LL sv(LL a)
{
int len=;
memset(dp,-,sizeof(dp));
memset(num,-,sizeof(num));
while(a)
{
num[len++]=a%;
a/=;
}
dfs(len-,,,);
}
int main()
{
LL n;
while(~scanf("%lld",&n))
{
LL ee=sv(n);
printf("%lld\n",ee);
}
}
HDU - 3652的更多相关文章
- 数位DP入门之hdu 3652 B-number
hdu 3652 B-number Problem Description A wqb-number, or B-number for short, is a non-negative integer ...
- 【HDU 3652】 B-number (数位DP)
B-number Problem Description A wqb-number, or B-number for short, is a non-negative integer whose de ...
- Hdu 3652 B-number (同余数位DP)
题目链接: Hdu 3652 B-number 题目描述: 给出一个数n,问 [1, n]区间内有几个数能被13整除并且还有13这个子串? 解题思路: 能整除的数位DP,确定好状态随便搞搞就能过了.d ...
- hdu 3652 【数位dp】
hdu 3652 题意:求1到n中包含'13'('13'不一定连续)且能被13整除的数的个数. 这是我第一道比较了能看懂的数位dp.定义状态dp[pos][res][sta]表示处理到第pos位,模的 ...
- HDU 3652:B-number(数位DP)
http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意:求数位含有13和可以被13整除的数字个数. 思路:记录3种状态: st == 0 表示 从最高位到第 ...
- hdu 3652 B-number(数字dp)
http://acm.hdu.edu.cn/showproblem.php? pid=3652 大致题意:"B-number"即一个整数含有子串"13"且被13 ...
- HDU - 3652 数位DP 套路题
题意:统计能被13整除和含有13的数的个数 解法没法好说的..学了前面两道直接啪出来了 PS.HDU深夜日常维护,没法交题,拿网上的代码随便对拍一下,输出一致 #include<bits/std ...
- HDU 3652 B-number(数位DP)
题目链接 学习大神的数位DP模版. #include <iostream> #include <cstdio> #include <cstring> using n ...
- HDU 3652 B-number
也是数位dp.考虑反面会简单很多. #include<iostream> #include<cstdio> #include<cstring> #include&l ...
- HDU 3652 B-number(数位dp)
题意:B数的定义是有字符串“13”且能被整数13整除的数,求[1,n]内的B数个数. 题解:这是数位DP,我也就是刚入门,前两天看到了非递归写法,好麻烦.所以我建议写dfs的方法,容易理解,代码还简短 ...
随机推荐
- PHP知识点
目录 1. PHP函数前面添加@的作用 2. PHP连接MySQL数据库字符集设置 1. 通过PDO扩展连接MySQL数据库 2. 通过mysql扩展连接 3. php查询数据库出现中文乱码 3. 参 ...
- C# Json解析Json = "{\"EX_RETURN\":[{\"MATNR\":\"test\"}] }";
string jtext = "{\"jiangsu\":[{\"wuxi\":\"无锡\"},{\"suzhou\&q ...
- php----------php安装xhprof扩展和简单使用
1.下载源码包 https://github.com/longxinH/xhprof (wget https://github.com/longxinH/xhprof/archive/master. ...
- warnings.warn("allowed_domains accepts only domains, not URLs. Ignoring URL entry %s in allowed_doma
多页面循环爬取数据抛出如下异常 warnings.warn("allowed_domains accepts only domains, not URLs. Ignoring URL ent ...
- Wireshark常用过滤命令
WireShark在我们网络编程中有非常重要的作用,可以帮我们抓取我们程序发送的数据包,大家常常说他是抓包工具,其实它是一款非常强大的网络数据包分析工具. 在WireShark的学习上,不想花费太多的 ...
- IP地址数据库 | 手机号段归属地数据库 | 行政区划省市区数据库
2019年4月最新版 IP地址数据库 (全球版·国内版·国外版·掩码版·英文版) 全球旗舰版 454267行 国内精华版 244379行 演示 https://www.qqzeng.com/ip ...
- 记录心得-shiro框架demo示例
从懵懂到了解,再到熟悉,是一个进步的过程! 先撸代码,跑起来看效果,再做详细的介绍,开始干活! 1,先列出工程目录结构,自己需要创建对应层级的程序和相关配置文件. 2,导入maven依赖的jar包.打 ...
- Nginx Install 记录
一.安装编译工具及库文件 yum -y install gcc yum -y install gcc-c++ yum -y install zlib; yum -y install pcre-deve ...
- 2018-2019-2 网络对抗技术 20165305 Exp2 后门原理与实践
常用后门工具 一.Windows获得Linux Shell 在Windows下使用ipconfig查看本机IP 使用ncat.exe程序监听本机的5305端口 在Kali环境下,使用nc指令的-e选项 ...
- LInux命令英文全称
Linux命令英文全称 su = Swith user 切换用户,切换到root用户cat = Concatenate 串联uname = Unix name 系统名称df = Disk free ...