数位dp
brucehb
这个作者很懒,什么都没留下…
展开
-
蓝桥杯 车牌数量
A 市的车牌由六位组成: 其中前三位可能为数字 0 至 9,或者字母 A 至 F,每位有 16 种可能。 后三位只能是数字 0 至 9。 为了减少攀比,车牌中不能有连续三位是相同的字符。 例如,202020 是合法的车牌,AAA202 不是合法的车牌,因为前三个字母相同。 请问,A 市有多少个合法的车牌? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。 本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 答案:4002750 思路: 数位DP原创 2022-01-27 11:42:01 · 334 阅读 · 0 评论 -
51nod - 1232 完美数
如果一个数能够被组成它的各个非0数字整除,则称它是完美数。例如:1-9都是完美数,10,11,12,101都是完美数,但是13就不是完美数(因为13不能被数字3整除)。 现在给定正整数x,y,求x和y之间(包含x和y的闭区间)共有多少完美数。 题目作者为: Input 第1行:一个数T,表示后面用作输入测试的数的数量。(1<=T<=10000) 第2-T+...原创 2018-10-21 17:17:13 · 783 阅读 · 0 评论 -
51nod - 1009 数字1的数量
给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。 例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。 Input 输入N(1 <= N <= 10^9) Output 输出包含1的个数 Input示例 12 Output示例 5 #include <cstdio> #in...原创 2018-10-10 23:50:35 · 199 阅读 · 0 评论 -
幸运号码
1个长度为2N的数,如果左边N个数的和 = 右边N个数的和,那么就是一个幸运号码。 例如:99、1230、123312是幸运号码。 给出一个N,求长度为2N的幸运号码的数量。由于数量很大,输出数量 Mod 10^9 + 7的结果即可。 Input 输入N(1<= N <= 1000) Output 输出幸运号码的数量 Mod 10^9 + 7 Input示例 1 ...原创 2017-07-06 01:32:05 · 678 阅读 · 0 评论 -
HDU - 4734 F(x)
思路: 数位dp。dp[i][j]中i表示第i位,j表示当最高位为i时的和。 #include <cstdio> #include <cstring> #include <iostream> using namespace std; int a[15], dp[15][5000]; int A, B; int dfs(int pos, int sum...原创 2018-09-29 01:28:17 · 471 阅读 · 0 评论 -
BZOJ -1799 self 同类分布
Description 给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数。 Sample Input 10 19 Sample Output 3 HINT 【约束条件】1 ≤ a ≤ b ≤ 10^18 思路: 数位dp,dp[i][j][k]的i表示第i位,j表示当前余数,k表示第i位之前的每一位数字的和。 for (int i = 1; i <= pos ...原创 2018-10-06 19:49:58 · 137 阅读 · 0 评论 -
BZOJ - 1026 windy数
Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A B。 Output 一个整数 Sample Input 【输入样例一】 1 10 【输入样例二】 25 50 Sample Output ...原创 2018-10-06 15:51:14 · 138 阅读 · 0 评论 -
POJ - 3252 Round Numbers
Description The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, Paper, Stone' (also known as 'Rock, Paper, Scissors', 'Ro, Sham, Bo', and a host of other names) in ...原创 2018-09-28 01:42:27 · 225 阅读 · 0 评论 -
HDU - 3652 B-number
Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string "13" and can be divided by 13. For example, 130 and 2613 are wqb-numbers...原创 2018-09-28 00:45:27 · 171 阅读 · 0 评论 -
BZOJ - 1833 count 数字计数
题目描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 输入 输入文件中仅包含一行两个整数a、b,含义如上所述。 输出 输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。 样例输入 1 99 样例输出 9 20 20 20 20 20 20 20 20 20 提示 30%的数据中,a<=b&l...原创 2018-10-05 23:38:06 · 197 阅读 · 0 评论 -
不含49的数
求a~b中不包含49的数的个数. 0 < a、b < 2*10^9 思路: 数位dp, dp[i][1]表示第i+1位为4时第i位能构成的合法数字数量。dp[i][0]表示第i+1位不为4时第i位能构成的合法数字数量。 #include <iostream> #include <cstdio> #include <cstring> #incl...原创 2018-09-26 01:04:06 · 201 阅读 · 0 评论 -
HDU - 2089 不要62
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 88914 都属于不吉利号码...原创 2018-09-23 22:51:17 · 160 阅读 · 0 评论 -
完美的消除
定义数的消除操作为选定[L,R,x],如果数的第L到第R位上的数字都大于等于x,并且这些数都相等,那么该操作是合法的(从低位到高位编号,个位是第一位,百位是第二位……),然后将这些位数上的数减x;否则就是不合法的,不能进行操作。对一个数操作最少的次数使得这个数变成0,这个操作次数称为该数的最小操作数。如:1232的最小操作数为3,一个合法解是[2,2,1],[1,3,2],[4,4,1]。 求L...原创 2018-06-02 23:14:43 · 400 阅读 · 0 评论 -
51nod - 1310 Chandrima and XOR
有这样一个小到大排列的无穷序列S:1, 2, 4, 5, 8......,其中任何一个数转为2进制不包括2个连续的1。给出一个长度为N的正整数数组A,A1, A2......An记录的是下标(下标从1开始)。求S[A1] Xor S[A2] Xor S[A3] ..... Xor S[An]的结果(Xor 为异或运算),由于该数很大,输出Mod 1000000007的结果。 例如:A = ...原创 2018-05-18 00:56:12 · 181 阅读 · 0 评论 -
51Nod - 1296 有限制的排列
计算整数集合{1,2,3,4, .... N }满足下列条件的的排列个数: 在位置a1, a2, ..., aK小于其邻居(编号从0开始)。 在位置b1, b2, ..., bL大于其邻居。 输出符合条件的排列数量Mod 1000000007的结果。例如:N = 4,a = {1}, b = {2},符合条件的排列为: 2 1 4 3 3 2 4 1 4 2 3 1 ...原创 2018-03-16 01:35:56 · 515 阅读 · 0 评论