数位DP
Cwolf9
莯
展开
-
bzoj1026-windy数-数位DP-递推写法与递归写法
(有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 题意:传送门 原题目描述在最下面。 windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 思路: 递推: dp[i][j]表示前 i 位第 i 个位置放上数字 j 的合法数字个数(从低位往...原创 2018-07-20 20:37:03 · 724 阅读 · 0 评论 -
HDU3709-Balanced Number-数位DP
(有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 题意: 原题目描述最下面。 栗子:4139。取第三位数字3为中心,左边的权值和为:4*2 + 1*1 = 9.右边的权值和为9*1 = 9.此数左右权值和相等则叫做平衡数,简称B数。 问区间[L, R]内有多少个B数。 思路: 普通的数位dp套个板子就行了,结构都是不变的。 选择枚举中心点,求出对于每...原创 2018-07-19 15:07:55 · 172 阅读 · 0 评论 -
数位DP小结-转发
基础篇 数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位……数的每一位就是数位啦! 之所以要引入数位的概念完全就是为了dp。数位dp的实质就是换一种暴力枚举的方式,使得新的枚举方式满足dp的性质,然后记忆化就可以了。 两种不同的枚举:对于一...转载 2018-07-19 15:47:43 · 227 阅读 · 0 评论 -
hdu4352-XHXJ's LIS状压DP+数位DP
(有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 题意:传送门 原题目描述在最下面。 在区间内把整数看成一个阿拉伯数字的集合,此集合中最长严格上升子序列的长度为k的个数。 思路: 看了大神的博客感觉这东西是真难想到。 nex[i][j]表示在状态i(状态i的二进制中为1表示这个数存在LIS中,反之不存在),选取加入第j的数字之后的状态。 然后这题...原创 2018-07-22 10:37:41 · 195 阅读 · 0 评论 -
UVALive - 3675 Sorted bit sequence 二分+数位dp
UVALive - 3675: 题目链接 题意: t(20)t(20)t(20)组数据询问[L,R][L,R][L,R]区间内数字排序后的第kkk大数字是多少? 排序规则:若数字的二进制补码中111的个数不同,则按个数从小到大排序;若相同,则按十进制数从小到大排序。 1≤k≤min(R−L+1,2147473547),−231≤L,R≤231−11\leq k \leq min(R-L+1,214...原创 2019-02-26 20:31:49 · 258 阅读 · 0 评论 -
HDU2089-不要62-同样DP方程一种AC一种WA+趁热打铁
(有任何问题欢迎留言或私聊 点击进入题目: 中文题面,意思大概就是求出区间[N,M]内的吉利数个数,吉利数就是不含4和62的数字。 思路: 考虑状态的表示方法: dp[i[[0]表示 i 位数,吉利数的个数 dp[i][1]表示 i 位数,首位位2的吉利数的个数 dp[i][2]表示 i 位数,不吉利的的个数 状态转移方程 由此可得出状态转移方程,同时预处理出所有状...原创 2018-05-18 16:00:58 · 162 阅读 · 0 评论