随笔分类 - -----动态规划 5.数位DP
摘要:题目链接:hdu 6156 Palindrome Function 题意: 给你一个L,R,l,r,问你在[L,R]内在[l,r]进制下有多少数是回文数,然后算一算贡献。 题解: 由于答案和该回文数的最高位有关(因为前导0不算)。 考虑dp[i][j][k],表示在i进制下,当前考虑到第j位,该数字
阅读全文
摘要:题目链接:hdu_5898_odd-even number 题意: 给你一个区间,问你这个区间中满足连续的偶数的位数为奇数,连续的奇数的位数是偶数的个数 题解: 设dp[i][j][k][l]为考虑当前第i位,上一位的奇偶性为j,已经连续了k位,是否有前导零 然后记忆化搜就行了 1 #include
阅读全文
摘要:题目链接:hdu_5787_K-wolf Number 题意: 给你一个区间,让你找满足任意k个数位内都没有相同的数字的个数 题解: 因为k不大,就直接将当前pos的前k-1个数传进去就行了 1 #include<cstdio> 2 #include<cstring> 3 int dig[20],l
阅读全文
摘要:Tickets Problem Description Conductor is quite a boring profession, as all you have to do is just to sell tickets to the passengers. So no wonder that
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3886 题意:这题的题意有点晦涩难懂,大概意思就是给你一个区间,让你找一些满足递增递减条件的数,举个列:/-\,要匹配这个关系,把一个数字分成一列数位,满足先递增,然后相等,然后递减的关系:ie:1233
阅读全文
摘要:题目连接:hdu_4352_XHXJ's LIS 题意:这题花大篇篇幅来介绍电子科大的一个传奇学姐,最后几句话才是题意,这题意思就是给你一个LL范围内的区间,问你在这个区间内最长递增子序列长度恰为K的数有多少个 题解:数位DP+状态压缩,这题首先考虑如何来求数位的LIS,很明显不可能用n*n的方法,
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5179 题意:给你一个范围,问你漂亮的数有多少个,漂亮的数的定义为 数位高的比数位低的大,并且 数位高的数%数位低的数为0 题解:数位DP,详细看代码,为了方便,我把所有的参数全部设为了状态,这样就不用判
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3565 题意:给你一个区间,让你找这个区间内有两个山峰的数的最大和,什么是两个山峰,比如121121 第一个2 和第二个2就是两个峰 题解:求的这个不满足dfs(y)-dfs(x)所以只有用一个上限和一个
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4734 题意:给你一个F(x)的定义,然后给你a,b,问你在0到b包括b有多少个数满足F(x)<=F(a) 题解:dp[i][j]为dp到第i位的和为j的方案 1 #include<cstdio> 2 #
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4507 题意:中文,不解释,注意的是求的是合法数字的平方和,即(a+b+c+……)^2 题解:数位DP,要维护三个值,cnt为合法的个数,sum为这cnt个合法个数的和,sqsum为这cnt个数的平方和d
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3709 题意:给你一个区间,让你找平衡数的个数 题解:设dp[i][j][k]为前i位以第j位为支撑点的力矩和为k的方案数,注意的是0,00,000这些也是平衡数,所以要减掉一个len长度 1 #incl
阅读全文
摘要:题目连接:hdu_3555_Bomb 题意:和2089一样,只是数据大了点,不过道理是一样的 1 #include<cstdio> 2 #include<cstring> 3 #define F(i,a,b) for(__int64 i=a;i<=b;i++) 4 5 __int64 t,n,dp[
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:中文,不解释 题解:dp[i][j]表示当前第i位的前一个数为j,然后记忆化dfs,注意的是给的是一个区间,容斥完后要处理大的那个数 1 #include<cstdio> 2 #includ
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意:给你一个n,为比n小的能整除13并数字中有13的数有多少个 题解:记忆化搜索:记dp[i][j][k][l]为当前为第i位i+1位的数为j,余数为k,是否含有13的数的个数,然后搜索下去就得
阅读全文

浙公网安备 33010602011771号