动态规划之数位DP
等我学会后缀自动机
侠影之谜
展开
-
HDU 2089 不要62 (数位DP模板题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位DP模板题 #include<bits/stdc++.h> using namespace std; #define debug puts("YES"); #define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++) #defi...原创 2019-03-14 16:41:03 · 99 阅读 · 0 评论 -
HDU 3555 Bomb (数位DP模板题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 数位DP模板题 #include<bits/stdc++.h> using namespace std; #define debug puts("YES"); #define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++) #defi...原创 2019-03-14 16:42:31 · 115 阅读 · 0 评论 -
CodeForces 55D Beautiful numbers (数位DP+数论+打表规律)
题目链接:http://codeforces.com/problemset/problem/55/D 题目大意 给定L和R,求这个区间中满足条件的数 的个数,条件为:该数可以整除每一位上非零的数。 题目分析 这道题我看题解思路的, 刚接触数位DP,我觉得这道题应该是利用数论技巧来 化简状态的题目。、 首先分析状态,数位DP其状态的延展方式可能不方便用 循环描述所以直接记忆化,关键是...原创 2019-03-21 23:21:12 · 93 阅读 · 0 评论 -
HDU 3709 Balanced Number (数位DP+暴力枚举思想)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709 题目大意 给定l和r区间,并且定义平衡数, 如果存在一个支点,其支点两边的数字都贡献力矩, 即权重*支点距离,如果两边的力矩和都相等的话 那么该数就是平衡数,问这个区间中有多少个平衡数。 题目分析 冥思苦想各种技巧死活做不出来反倒偏偏忘了暴力的 美学,考虑到数字再大位数都不会太大...原创 2019-03-30 15:49:09 · 88 阅读 · 0 评论 -
HDU 4352 XHXJ's LIS (数位DP+状压DP+LIS)好题*
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 题目大意 给定l和r,要求在这个区间内, ,满足要求的数字的个数, 要求是:数位上最长上升子序列长度为k。 题目分析 数位DP+状压DP。 思维很脑洞,主要是用状压的思想去搞 最长上升子序列,首先观察到其最大长度不超过10 , 且每位数字0到9,那么我们可以用1<<1...原创 2019-03-27 00:20:20 · 116 阅读 · 0 评论 -
HDU 4507 吉哥系列故事——恨7不成妻 (数位DP+数学技巧)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4507 题目大意 给定一个区间要求这个区间内满足要求的数 的平方和,要求是:数位中不含7,数字和不是7的整数倍, 数值本身不能被7整除。 题目分析 数位DP,对于三个条件的限制其实很好规定, 在选数字时候去掉7的选择,然后开三位DP数组维护数字和和数值余数。 关键是如何求出其平方和。我们...原创 2019-04-01 14:49:38 · 118 阅读 · 0 评论 -
POJ 3252 Round Numbers (数位DP)
题目链接:https://vjudge.net/problem/20836/origin 题目大意 给定一个区间,要求这个区间内 满足条件的数的个数; 条件是:二进制表示其0的个数不小于1的个数。 题目分析 把之前的十进制转换为二进制即可,注意前缀零 的判定,搜索参数要多加一维,其余的没什么变化。 #include<iostream> #include<cs...原创 2019-04-01 14:56:21 · 119 阅读 · 0 评论 -
HDU 4734 F(x) (数位DP+优化技巧)*
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4734 题目大意 给定函数f的定义,问在f函数的定义下, 在0到B中有多少个数满足,小于等于f(A)的 关系并且A事先给定。 题目分析 数位DP处理,但是注意到这题时限非常小, 朴素想法是dp[pos][sum],这样会超时, 然后考虑加一维度存储特定的f(A)但值会很大数组开不下, 看...原创 2019-03-29 06:40:55 · 168 阅读 · 0 评论