题目大意就是数字中不能出现 62
和4代码:/*************************************************************************
> File Name: 2089.cpp > Author: minshik > Cr...
分类:
其他好文 时间:
2014-05-22 14:28:12
阅读次数:
215
HDU 4734 F(x)
解题思路
给定A,B, 在[0,B]之间的数字假设为i,问你有多少数字 f[i] 值小于f[A]
解题思路:
数位DP,只需按照位数转移为缩短1位的子问题即可...
分类:
其他好文 时间:
2014-05-22 09:37:11
阅读次数:
275
UVA 10712 - Count the Numbers
题目链接
题意:求区间[A,B]数字中,子串包含N的数字有多少个
思路:数位DP,写了个记忆化乱搞搞过了,dp[i][j][2][2][2],分别表示i位的时候,末尾为j的情况,后面3维用来处理小于的情况,已经出现过子串的情况,前导0的情况,然后注意特判一下数字0的情况,因为一开始要分解数字,而0是不能分解的。
代...
分类:
其他好文 时间:
2014-05-21 09:11:44
阅读次数:
264
题目链接:uva 11361 - Investigating Div-Sum Property
题目大意:给出a,b,k,问说在[a,b]这个区间有多少n,满足n整除k,以及n的各个为上的数字之和也整除k。
解题思路:数位dp,dp[i][j][x]表示第i为的时候,n整除k余j,n(以及考虑到的位数)的各个位置上的数字之和整除k余x的情况总数,并且每次要计算上限的临界值。
#inc...
分类:
其他好文 时间:
2014-05-20 15:26:47
阅读次数:
215
#include#include#include#define max 10int
dp[max][3];int number[max];//dp[i][0] 前i位数中不符合要求的总个数//dp[i][1]
前i位数中最高位是2的个数//dp[i][2] 前i位数中存在含4和有连续62的个数voi...
分类:
其他好文 时间:
2014-05-20 13:24:39
阅读次数:
252
题意:题中平衡数的定义: 以一个位置作为平衡轴,然后左右其他数字本身大小作为重量,到平衡轴的距离作为全职,实现左右平衡(即杠杆原理平衡)。然后为区间[x,y]内平衡数的个数。 (0 ≤ x ≤ y ≤ 1018)
解法:数位dp。如果一个数的平衡数,那么它的平衡轴位置是确定的。原来一直尝试数位dp在dfs时候列举平衡轴的位置,后来才意识到可以提前枚举平衡轴位置,然后再dfs,这样比较好写...
分类:
其他好文 时间:
2014-05-15 02:43:39
阅读次数:
288
题意:求1-n(n
解法:数位dp。LL dp[pre][now][have][iflow][rem]记录着第pre位为now,have表示前边是否出现过13,iflow表示dp过程否有降低,rem表示后续需要的余数是多少。
代码:/******************************************************
* author:xiefubao
...
分类:
其他好文 时间:
2014-05-14 19:29:37
阅读次数:
266
题意:计算a-b中各个数字出现的个数;
解法:数位dp(思想都是先算1-b的个数,然后减掉1-a中的个数),1-9数字的计算和前边计算1的那一篇数位dp差不多,计算0时候要加一维表示前缀是否全是0;
代码:/******************************************************
* author:xiefubao
*****************...
分类:
其他好文 时间:
2014-05-12 23:51:12
阅读次数:
470
题意:求1-n的n个数字中1出现的个数。
解法:数位dp,dp[pre][now][equa] 记录着第pre位为now,equa表示前边是否有降数字(即后边可不可以随意取,true为没降,true为已降);常规的记忆化搜索
代码:/******************************************************
* author:xiefubao
...
分类:
其他好文 时间:
2014-05-11 20:48:20
阅读次数:
279
题目链接:11361 - Investigating Div-Sum Property
白书上的例题,不过没有代码,正好前几天写了一题数位DP的题目,这题也就相对轻松了。
dp[i][x][y]表示加到第i位,数字 % k,数位和 % k的组合情况数,那么现在要添加一个0 - 9的数字上去状态转移为
dp[i + 1][(x * 10 + num) % k][(y + num) % k],计...
分类:
其他好文 时间:
2014-05-11 05:23:33
阅读次数:
316