给出两个数a,ba,b,求出\([a,b]\)中各位数字之和能整除原数的数的个数. 我们按照模板的做法来想,枚举到第pos位时,要确定这一位的数字,可以更新现在所填数字的和,但对于最终的和无从得知,是否能整除也无从判别,我们试着先确定了最终的和,在枚举每一位的时候注意到,枚举x,则对最终和模数可以更新为 \((mod * 10 + x) \% sum\) ,所以可以想到每一次枚举一个和sum \(d[i][j][k]\)表示 i 位数字,前面填过的数字和为 j 时,模sum为 k 的数字个数 #…
求出[a,b]中各位数字之和能整除原数的数的个数. 有困难的一道题.被迫看了题解:枚举每一个各位数字的和($<=162$),设计状态$f[len][sum][rest]$表示dp后面$len$位,要求这剩下的和是$sum$,并且其对$sum$取模是$rest$的方案数. 感觉也讲不出什么道理来,真的是..经验问题啊...当时数位dp不太会,现在看来稍微好些了.或者也可以从最高位往后看,设前面填好的高位组成的各位和是sum,mod枚举剩rest,到最低位再检验正确性. 转移(向下一层dp)时就是把…
月之谜 Description 打败了Lord lsp 之后,由 于lqr 是一个心地善良的女孩 子,她想净化Lord lsp 黑化的 心,使他变回到原来那个天然 呆的lsp--在倒霉的光之英 雄applepi 的指引下,lqr 来到 了月之泉.月之泉的精灵告诉 她,想要净化Lord lsp 的话, 就要解出月之泉的谜题. 具体地来说是这样的,定 义月之数为能够被其十进制 表示下各个数位的和整除的数.给定整数L,R,你需要计算出区间[L, R]中有多少个月之数. lqr 发觉这不是数学竞赛能够解…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1799 数位DP. 1.循环方法 预处理出每个位数上,和为某个数,模某个数余某个数的所有情况: 因为开四维会爆空间,所以省去模数,为此需要固定模数一次一次累加: 余数的转移,以及可以填数的范围都值得注意. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std;…
1799: [Ahoi2009]self 同类分布 Time Limit: 50 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description 给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数. Input   Output   Sample Input 10 19 Sample Output 3 HINT [约束条件]1 ≤ a ≤ b ≤ 10^18 Source Day1 类似hdu 4389 #pragma com…
\(update:2019-9-6\) 博客里某些东西没有解释清楚,完善了对应的解释 在开始之前,我们先来看一道题--题目链接 题目要求,相邻两位的差大于等于2,那么我们先来构造一个试一试. 比如说\(15246\)这个数,我们先取第一位为\(1\),然后第二位是\(5\),\(5-1=4>2\)所以符合条件,第三位是\(2\),\(5-2=3>2\)符合条件,第四位是\(4\),\(4-2=2\)符合条件,第五位是\(6\),\(6-4=4\)符合条件,所以这个数使符合条件的. 那么问题来了…
目录 数位dp 笔记 解决的问题 & 主体思想 入门 -- windy数 绕一个弯 -- 萌数 the end? -- 恨7不成妻 小心细节 [SDOI2016]储能表 复杂度起飞 [AHOI2009]同类分布 数位dp 笔记 数位dp一直是我的弱项,惦记好久了,最近补了补,感觉还行. 解决的问题 & 主体思想 解决一个区间中,满足某些条件(与每一位有关)的数的数量(或者带权的和). 做法:考虑求前缀 \([1,x]\) 的答案. 如果你是新手,请先考虑一下大概要怎么做,再继续看 先把位(…
1799: [Ahoi2009]self 同类分布 Time Limit: 50 Sec  Memory Limit: 64 MBSubmit: 1635  Solved: 728[Submit][Status][Discuss] Description 给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数. Input Output Sample Input 10 19 Sample Output 3 HINT [约束条件]1 ≤ a ≤ b ≤ 10^18 Source Day1 设…
题目描述 给出两个数 a,ba,b ,求出 [a,b][a,b] 中各位数字之和能整除原数的数的个数. 输入输出格式 输入格式: 一行,两个整数 aa 和 bb 输出格式: 一个整数,表示答案 输入输出样例 输入样例#1: 复制 10 19 输出样例#1: 复制 3 说明 对于所有的数据, 1 ≤ a ≤ b ≤ 10^{18}1≤a≤b≤1018 题解 数位dp 至于怎么判是否整除 我们可以考虑枚举所有位之和是多少 然后记录一下当前数模所有位之和的余数 如果为$0$说明可行 //minamot…
各种奇怪姿势的数位dp Description 给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数. Sample Input 10 19 Sample Output 3 HINT [约束条件]1 ≤ a ≤ b ≤ 10^18 题目分析 好像10^18左右的数位dp都是乱搞就好了 既然是要求整除原数,那么数位之和肯定要放进状态里,并且枚举数位总和地去dp. 看上去好像$f[i][j]$表示后面$i$位总和为$j$的合法方案数不就好了吗? 考虑这种状态的转移会发现,从后面做上来不可行啊…