DP
文章平均质量分 74
Infertom
这个作者很懒,什么都没留下…
展开
-
DP·基础DP
题目:HDU1024 题意:给定n(1 ≤n ≤ 1,000,000)个数(-32768 ≤ num≤ 32767)与m,求m个非相交的区间,使得所有区间内的数的总和最大 方法:DP,定义状态:dp[m][n],表示到第n个数时已经有m个区间时的最大和状态转移:第n个数有m个区间可有两种情况到达,1前n-1个数有m个区间了,再在最后一个区间加上第n个数,2第n-原创 2015-04-27 22:52:37 · 402 阅读 · 0 评论 -
DP·数位DP(2)
题目:CodeForces 55D 题意:若一个数能被其各个位上的数整除,即满足条件。求区间[l, r]内所有满足条件的数 方法:若想要一个数能被其各个数位上的数整除,则此数要能被各个位上的数的LCM整除。而且由于LCM(1~9) = 2520,所以将数对2520取模后,若余数能被LCM整除,则原数也能被LCM整除,因为LCM肯定为2520的一个因子。(期初几个数位原创 2015-04-28 22:31:22 · 328 阅读 · 0 评论 -
DP·数位DP
题目:HDU3555 题意:求区间[1, n]内所有含”49”的数 方法:数位DP,定义状态:dp[n][m]表示第n位(最高位即为第n位)为m的符合要求的数的个数状态转移:第n位为m的状态符合要求的数有两种可能:1若m=4,且n-1位为9,1~n-2位为任何数均可以,即有10^(n-2)个,若n-1为不为9,则第n为没有贡献,即以n-1位可能的数为头的所有满足原创 2015-04-28 17:14:38 · 375 阅读 · 0 评论 -
DP·数位DP(4)
题目:HDU3709 题意:定义以一个数的某一位为中心点,每一位的价值为这一位上的数*距离中心点的距离,若中心点两边的价值之和相同,则此数平和(即将一个数看做一个天平,是否平衡)。求给定区间[l, r]中的平衡的数的个数。 方法:数位DP定义状态:dfs(intpos, int mid, int dif, bool flag),pos为当前的位置,mid表示中心点位原创 2015-05-04 11:16:10 · 387 阅读 · 0 评论 -
DP·数位DP(5)
题目:POJ3252 题意:求出给定区间[l, r]中所有二进制表示时0个数不小于1个的数的个数 方法:数位DP定义状态:lldfs(int pos, int zNum, int oNum, bool flag, bool flag2)表示二进制的当前位pos,已有0的个数zNum,1的个数oNum,flag表示是否受限,flag2表示是否为第一位(若为第一位,则枚原创 2015-05-04 19:59:01 · 395 阅读 · 0 评论 -
DP·数位DP(3)
题目:HDU3652 题意:求出在给定区间[l, r]中所有包含”13”且能被12整除的数的个数 方法:数位DP,定义状态dfs(intn, int per, int m, bool flag, int flag2),表示到第n位时,前一个数为per,余数为m,flag表示是否受限,flag2表示之前是否已经出现了”13”#include#原创 2015-05-01 10:49:01 · 373 阅读 · 0 评论 -
DP·矩阵加速
题目:hiho第43周/hiho1162 题意:现有1*2的骨牌,求覆盖K*N的方案数。2≤K≤7,1≤N≤100,000,000 方法:DP,用矩阵快速幂加速 DP矩阵加速的基本思想即将一系列状态看成一个向量,转移方程看成一个矩阵,通过向量乘矩阵得出下一系列状态,即当时,可将基向量记为,则转移矩阵为,则,则,而后面的矩阵的幂则可以用快速幂思想快原创 2015-05-06 18:04:18 · 825 阅读 · 0 评论 -
DP/记忆化搜索+set
题目:HDU5218 题意:给定一个环的大小N,给定一个大小为M的集合,包含的元素为可一次走的步数。初始环大小为N,全满并从1~N标号,每次从集合中随机选择一个元素,然后走a步,并移除当前走到的位置的前一个环上的点。求所有可能成为最后一个留下的元素原来的编号 方法:DP,set 每次移除一个点后,就将环从当前节点开始重新从1开始标号(即每次走的时候都原创 2015-05-07 13:24:46 · 624 阅读 · 0 评论