![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数位DP
黑色的夢
I'm Acmer.
展开
-
HDU4352 XHXJ's LIS 数位DP+状态压缩
题意:假设把一个数字当成字符串,将它的最长单调递增子序列长度称为power值,求[L,R]区间内power值等于k(1<=K<=10)的值有多少个。 想法:很明显是数位DP,只是单调递增子序列状态压缩稍微麻烦点,单调递增子序列的nlogn解法是另开一个dp数组,在dp数组中将最长的单调递增序列存进去,并不断更新,在更新过程中dp数组始终是单调递增(不是非单调递减)的,所以我们可以将整个序列用二进制原创 2017-02-26 23:38:10 · 542 阅读 · 0 评论 -
POJ3252 Round Numbers
题目链接:http://poj.org/problem?id=3252 题意:假设将一个数字转换为二进制,其中二进制中的0的个数大于等于二进制中1的个数,那么这个数字称为Round Numbers。问[l,r](1<=l<=r<=2e9)内存在多少个Round Numbers。 想法:很简答的数位DP,开一个dp[i][one][zero],i表示第i位,one表示最高位到此位1的个数,zero原创 2017-02-27 10:52:46 · 485 阅读 · 0 评论 -
CodeForces - 55D Beautiful numbers 数位DP
题意:如果一个数字能被自己所有位上数字整除,则称这个数字为Beautiful numbers,现在问[l,r](1 ≤ l≤ r ≤ 9 *10^18)内存在多少个Beautiful numbers。 想法:依然是数位DP,对于每一位数字如果他们的最小公倍数(lcm)能够整除这个数字,那么这个数字肯定就是Beautiful numbers。可以计算出1到9的最小公倍数是2520。可以开一个三维dp原创 2017-02-27 10:32:03 · 552 阅读 · 0 评论 -
HDU4507 吉哥系列故事――恨7不成妻 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4507 题意:求[L,R](1 <= L <= R <= 10^18)区间内和7无关的数字的平方和。 如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关—— 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍; 想法:如果不是求平原创 2017-02-27 10:18:33 · 887 阅读 · 0 评论 -
HDU - 3709 Balanced Number 数位DP
题目链接:https://cn.vjudge.net/contest/70324#problem/F 题意:在一个数字中,假设以其中一位为对称中心,两边的每位分别乘以它到对称中心的距离,如果两边的和相等的话,就称为Balanced Number。如:4139以3为对称中心的话,左边是4*2+1*1=9,右边是9*1=9。即为Balanced Number。 想法:依然是数位DP,遍历一个数字的每原创 2017-02-27 10:44:34 · 698 阅读 · 0 评论