动态规划-数位DP
Maxwei_wzj
AFO
展开
-
【HDU3555】Bomb-数位DP入门题
【HDU3555】Bomb-数位DP入门题原创 2017-02-23 23:26:29 · 303 阅读 · 0 评论 -
【BZOJ3131】淘金(SDOI2013)-数位DP+优先队列
测试地址:淘金 做法: 本题需要用到数位DP。 令F(x,y)F(x,y)F(x,y)为坐标(x,y)(x,y)(x,y)上的黄金数目,那么: F(x,y)=∑i=1n∑j=1n[f(i)=x]⋅[f(j)=y]F(x,y)=\sum_{i=1}^n\sum_{j=1}^{n}[f(i)=x]\cdot[f(j)=y]F(x,y)=∑i=1n∑j=1n[f(i)=x]⋅[f(j)=y] =(∑...原创 2018-11-01 17:13:42 · 261 阅读 · 0 评论 -
【BZOJ4513】储能表(SDOI2016)-数位DP
测试地址:储能表 做法: 本题需要用到数位DP。 显然地,我们可以把问题转化成,令SumSumSum为所有≥k\ge k≥k的i xor ji\space xor\space ji xor j之和,CntCntCnt为其个数,那么答案就为Sum−k⋅CntSum-k\cdot CntSum−k⋅Cnt。 具体地,我们是要计算满足这些条件:i≤n−1,j≤m−...原创 2018-11-01 11:26:41 · 217 阅读 · 0 评论 -
【51Nod1623】完美消除-数位DP+状态压缩+单调栈
测试地址:完美消除 做法: 本题需要用到数位DP+状态压缩+单调栈。 对于一个数字,如何求出它的最小消除次数?把每一位一一推入单调栈(栈顶元素最大),并在最后把所有的元素都出栈,那么元素出栈的总次数就是最小消除次数。这一点做过单调栈题的同学应该很容易能看出来了。 那么对于这一题,显然看出是数位DP,而且数位DP也是从高位到低位转移。我们又发现数位只有000 ~ 999这101010个数字,于是我们...原创 2018-10-31 12:03:00 · 232 阅读 · 0 评论 -
【CF55D】Beautiful Numbers-数位DP+优化
测试地址:Beautiful Numbers 题目大意: 求在区间[L,R][L,R][L,R]中,有多少能整除自身所有非零数位的数。 做法: 本题需要用到数位DP+优化。 首先这题一看就是数位DP,本题的关键是状态的设计以及优化。 我们很快能写出一个状态定义:f(i,j,k,0/1)f(i,j,k,0/1)f(i,j,k,0/1)表示前iii位,所有非零位的LCM是jjj,对jjj的余数是kkk...原创 2018-10-10 21:42:55 · 242 阅读 · 0 评论 -
【BZOJ3326】数数(SCOI2013)-数位DP
测试地址:数数 题目大意: 给定L,RL,RL,R两个10510^5105位内的B(≤105)B(\le 10^5)B(≤105)进制数,L≤RL\le RL≤R,对区间[L,R][L,R][L,R]内的所有数xxx,累加xxx中所有子串表示的数字的和(如123123123,应该累加123+12+23+1+2+3123+12+23+1+2+3123+12+23+1+2+3到答案中,注意不应该包含前...原创 2018-10-10 19:05:26 · 378 阅读 · 0 评论 -
【HDU4507】Seven-数位DP
测试地址:Seven 做法: 本题需要用到数位DP。 是的,我看这题题目名字实在太长,就自己给取了个名字…首先看它给的条件,如果只求数字个数的话,非常明显是数位DP的形式,只需要设num(i,j,k)num(i,j,k)num(i,j,k)为前iii位中,不卡上界的,数位和对777的余数为jjj,数对777的余数为kkk的数字的个数,很容易就能转移。而要求数字的和较难一点,但我们也能较快地想出转移...原创 2018-10-14 21:13:15 · 189 阅读 · 0 评论 -
【BZOJ1833】数字计数(ZJOI2010)-数位DP
测试地址:数字计数 做法:本题需要用到数位DP。 首先套路把答案转化为前缀和的形式(ans(r)−ans(l−1)ans(r)−ans(l−1)ans(r)-ans(l-1))。对于计算前nnn个数对答案的贡献,考虑计算每个数字在每一位上的贡献,即有多少个数在第iii位上是jjj。分情况讨论: 1.若前i−1i−1i-1位不卡上界,那么当前位一定可以选到jjj,所以满足要求的数字有:前i−1...原创 2018-04-16 21:12:15 · 206 阅读 · 0 评论 -
【BZOJ3530】数数(SDOI2014)-AC自动机+数位DP
测试地址:数数 做法:本题需要用到AC自动机+数位DP。 首先看到多模式串匹配,自然想到用AC自动机来做。用AC自动机构造出状态转移图后,令f(i,j,k)f(i,j,k)f(i,j,k)为匹配了最高的iii位,匹配到AC自动机上的jjj点,卡上界的情况为kkk(k=0k=0k=0表示不卡上界,接下来选的数不受限制,否则反之)的方案数,那么做一个数位DP即可。注意处理数字有前导000的情况。 ...原创 2018-04-03 22:50:33 · 249 阅读 · 0 评论 -
【HDU3652】B-number-数位DP
【HDU3652】B-number-数位DP原创 2017-03-30 17:03:50 · 282 阅读 · 0 评论