B-number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3257    Accepted Submission(s): 1819 Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal for…
题意:数字满足的条件是该数字可以被它的每一位非零位整除. 分析:大概的思路我是可以想到的 , 但没有想到原来可以这样极限的化简 , 在数位dp 的道路上还很长呀 : 我们都知道数位dp 的套路 , 核心的部分就是找到判断这个数的满足条件的方法 , 如果找到了那这个问题就迎刃而解了吧 : 这个题的条件是数字被每一位非零的数整除,那是不是这个是应该被每一位的最小公倍数整除  ,这里是这道题目的关键!!!!!!!!  1-9的最小公倍数是2520 , 所以其他位数最公倍数都是在2520内的(看这样考虑…
题目:求1-n的范围里含有13且能被13整除的数字的个数. 分析: dfs(len, num, mod, flag) mod记录数字对13取余后的值 len表示当前位数 num==0 不含13且上一位不为1 pre==1 不含13且上一位为1 pre==2 含13 flag表示是否可以任意取值(判断范围). 如此,记忆化搜索即可得解. 总结:我是在最后才判断是否可以%13 , 但是这是不可以的 , 经过这道题后,理解更好了 : 这里有个式子特别重要 : 关于连加取mod ,      例如: 1…
题目链接:https://vjudge.net/problem/HDU-3652 B-number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7415    Accepted Submission(s): 4346 Problem Description A wqb-number, or B-number for short, is…
B-number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5000    Accepted Submission(s): 2866 Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal for…
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意:求1~n含有13且能被13整除的数的个数. 分析:数位dp,dp数组加一维来维护到pos位模13的余数,则dp[pos][mod][2]表示非限制条件下到pos位模13余mod且已含有13的总个数,dp[pos][mod][1]表示没含有13但前一位是1且模13余mod的总个数,dp[pos][mod][0]表示没含有13前一位不为1模13余mod的总个数... #include <cs…
Description 题目大意:求小于n是13的倍数且含有'13'的数的个数. (1 <= n <= 1000000000) Solution 数位DP,题目需要包含13,且被13整除,所以状态应该多2个, \(F[i][j][k]\)表示位数为i,余数为j,包含13状态为k的方案数 其中k(0,1,2),2表示已经包含13,1表示上一个为1,否则为0 记忆化打法 Tips: 数组k维要开到3 DP数组只算一次,只需开始初始化一次 计算转移的k时的顺序 Code #include <c…
Description 题目大意:求小于n是13的倍数且含有'13'的数的个数. (1 <= n <= 1000000000) Solution 数位DP,题目需要包含13,且被13整除,所以状态应该多2个, \(F[i][j][k]\)表示位数为i,余数为j,包含13状态为k的方案数 其中k(0,1,2),2表示已经包含13,1表示上一个为1,否则为0 记忆化打法 Tips: 数组k维要开到3 DP数组只算一次,只需开始初始化一次 计算转移的k时的顺序 Code #include <c…
B-number Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string "13" and can be divided by 13. For example, 130 and 2613 are wqb-numbers, but 143 and 2639 are not. Your task…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意就是求区间内能被13整除并且包含”13“的数字的个数 感觉是比较中等的数位DP题目 我用的记忆化的方式做的 定义dp[len][mod][mark]; 其中len表示当前正在处理的位数或可以理解为还有len位需要处理,mod表示当前的总的余数(即从最高位到len位时所计算得到的余数) mark起标记作用 mark==0表示从最高位到i位还没有出现”13“: mak==1表示从最高位到i位没…