题目链接
题目类型:数位DP
题目分析
题目大意
统计区间[l, r]
内,windy的数字个数,windy数为任意相邻两位之差大于等于2的数字
解析
做数位DP之前需要先分析清楚状态,我们可以每次只找对于前一个数字为pre的第pos位的数量,但是对于这种情况需要分成两种讨论,第一,前一位是零且当前位为数字的第一位,那么pos这位可以是有效范围内的任何数字,另一种情况是前一位是除了第一种情况的所有情况,包含前一位是0
但是不是最高位,比如50x
,我们需要确定x这位,这种情况下当前pos位需要受之前的数字约束,所以我们对于前一位为pre且当前位为pos的用两个状态存储即可。
代码
1 |
|