数位dp
ORZSunIsMe
呵呵
展开
-
【BZOJ 1026】【SCOI2009】[数位dp]windy数
题目描述不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。问在A和B之间,包括A和B,总共有多少个windy数?题目分析之前做了一道板题后再做这道感到愉悦多了。 一样的套路,分解一下题目[A,B]=[1,B]−[1,A−1][A,B]=[1,B]-[1,A-1]。对于[1,x][1,x], 首先当数的位数小于x时,可以随便取值,我们不妨设dpi,j=Σ9k=0dpi−1,kdp_{原创 2017-03-13 16:13:21 · 329 阅读 · 0 评论 -
【BZOJ 1833】【ZJOI 2010】[数位DP]count 数字计数
题目描述给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码各出现了多少次。题目分析膜膜膜PoPoQQQ大爷。 首先,我们可以把求[a,b]中间的数量改成[1,b]-[1,a]。 然后考虑怎么求[1,x]。 首先,对于位数小于x的数字因为每位数可以随便取,所以每一个数字出现次数是一样的(允许前导0)。我们不妨预处理gig_i表示位数为ii时数字出现的次数,gi=gi−1×10+10i−原创 2017-03-13 15:32:53 · 382 阅读 · 0 评论 -
【BZOJ 3329】[数位dp]Xorequ
题目描述题目分析首先我们发现x⊗3x=2x⇒x⊗2x=3xx \otimes 3x=2x \Rightarrow x\otimes 2x=3x这便意味着x⊗(x<<1)x\otimes (x<<1)等于x+(x<<1)x+(x<<1),我们可以发现,亦或是没有进位的加,而这里又相等,也就是说xx与x<<1x<<1在同一位置上没有1,xx换为二进制后没有相邻的两个1。 SubTask1就构造dpi,原创 2017-03-13 20:03:08 · 437 阅读 · 0 评论