
数位DP
ACM败犬
这个作者很懒,什么都没留下…
展开
-
洛谷 P3413 SAC#1 - 萌数(数位DP)
正难则反,考虑统计[l,r] 非萌串,用总数扣去这部分得到答案。非萌串在递推时只要当前数字和前两位不相同即可,但是要额外注意有前导0的情况,因为前导0是可以相等的,并且010这种也是非萌串。考虑前导0后写出了6维的傻逼DP代码:#include<bits/stdc++.h>using namespace std;const int maxn = 1e3 + 10;co...原创 2019-11-08 23:33:03 · 290 阅读 · 0 评论 -
uva 11361 : Inverstigating Div-Sum Property (递推,数位dp)
题目大意:给定正整数a,b,k,你的任务是在所有满足a <= n <= b的整数n中,统计有多少个满足n自身是k的倍数,且n的各个数字(十进制)之和也是k的倍数?比如k = 7时,322满足条件,因为322 和3 + 2 + 2 都是7的整数倍。当a = 1,b = 1000, k = 4时,有64个整数满足条件。1 <= a <= b <= 2^311 <...原创 2019-05-21 14:02:51 · 189 阅读 · 0 评论 -
洛谷p2602:数字计数
题目描述给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次一开始想歪了,想去枚举每一位,然后统计每一位的情况。转念一想,数位dp是统计[a,b]内符合条件的数字的个数。换一种方法,对key~[0,9],统计含1个key,2个key…len(len为数字的长度)个key的数字,然后加一下,就可以得到答案了#include<iostream>...原创 2019-03-01 16:57:59 · 453 阅读 · 0 评论