题意:给定x、y,为[x,y]之间有多少个数的偶数位和减去奇数位和等于一。
个位是第一位。
例子: 10=1-0=1 所以10是这样的数
思路:数位dp[i][sum][ok] i位和为sum 是否含有前导0.
然后就是因为有负数 所以根据范围把0设置为100 然后最后和等于101则为所求的数。
代码:
#include"cstdlib"
#include"cstdio"
#inclu...
分类:
其他好文 时间:
2014-09-19 17:43:29
阅读次数:
186
题意:中文题。
思路:和普通数位dp一样,这里转换成二进制,然后记录有几个一,
统计的时候乘起来就好了。
代码:
#include"cstdlib"
#include"cstdio"
#include"cstring"
#include"cmath"
#include"stack"
#include"algorithm"
#include"iostream"
using namespace...
分类:
其他好文 时间:
2014-09-19 17:40:05
阅读次数:
210
题意:有两种询问:
q=1,在[x,y]区间内,转换成b进制数,数位和为m的有多少个。
q=2,在[x,y]区间内,转换成b进制数,数位和是m的第k个数是多少(十进制),不存在按题目给出输出。
思路:
和普通数位dp一样,第几个数的话就是二分判断。
然后就是按常理要开4维,就是dp[i][sum][b][m] i位,和为sum,b进制,最后和为m
但是开不下,所以开3维每次初始化。
...
分类:
其他好文 时间:
2014-09-17 20:31:42
阅读次数:
251
题意:对于两个数i和k,把它分为两个部分的数,n和m,如果(n+m)%k=0 那么这算一种分法
比如 333可分成,3、33或者33、3,对于 (333,3)就等于2.
现在给出 a、b、k,为 (a~b,k)有多少种分法
思路:对于一个数,注意前导零并枚举分点就好了。
dp[22][22][22][22][2], 代表 i位,分点为fd,余数mod,对于k取余,是否有前导零
...
分类:
其他好文 时间:
2014-09-17 16:51:02
阅读次数:
169
POJ最难数位DP?段段拆解,0ms数位树!...
分类:
其他好文 时间:
2014-09-16 23:48:01
阅读次数:
420
这题应该是POJ最强大的一道数位DP了吧 正解是AC自动机 不会 还是写数位DP吧
题目大意:我们令含有666的数字为不吉利数字,则可以得到一个递增数列:
{an}=666,1666,2666,3666,4666,5666,6660,6661,....
给定n,求an
首先我们把这个问题转化成另一个问题:给定n,求1~n中有多少个数含有666
解决了这个问题,把原问题二分答案即可
首先...
分类:
其他好文 时间:
2014-09-16 17:28:00
阅读次数:
243
题意:在一定区间内和7无关的数字的平方和。
思路:这种醉醉的题目,也是醉醉的。
其实理解了,就醒了~
首先只求有多少个数,那么大家肯定都会了。
但是这里我们对于dp[site][mod][sum] 要维护3个东西,n:有多少个数、sum:这些数的和、sumqrt这些数的平方和。
我们通过递归,n就是我们大家都会的那个东西,那么对于这些数的和。
举个例子,比如求12
那就是0~12的和...
分类:
其他好文 时间:
2014-09-12 17:20:53
阅读次数:
202
题意:平衡数问题,就是找一个支点,两边位上的数成力矩和相等
比如 4139 以3作为支点 左边=4*2+1*1 = 右边=9*1
思路:
一开始没想到,一点就恍然大悟。
dp[site][n][sum] n为支点。
然后只要枚举支点就好了。
然后减去00,000,0000这些情况就ok了
#include"cstdlib"
#include"cstdio"
#include"cst...
分类:
其他好文 时间:
2014-09-12 17:16:23
阅读次数:
250
题目链接:hdu 4734 F(x)
题目大意:给定f(x)的计算公式,现在给出n和m,求有多少个x,x
解题思路:数位dp,dp[i][j]表示到第10i内,然后f值为j的总数。
#include
#include
#include
using namespace std;
const int maxn = 10000;
int n, bit[15];
int dp[1...
分类:
其他好文 时间:
2014-09-09 13:23:48
阅读次数:
145
一开始觉得是数位DP,后来想不出来。 但是感觉爆搜+剪枝可以过,于是就过了。。#include #include #include using namespace std;typedef long long LL;const int maxn = 50;int lim[maxn], len;LL n...
分类:
其他好文 时间:
2014-09-07 18:32:55
阅读次数:
177