E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
DP---数位DP
hdu 4507 吉哥系列故事——恨7不成妻
数位DP
数位DP
,注意状态DP的转移 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm
·
2015-11-07 10:06
HDU
hdu 3709 Balanced Number
数位DP
思路: dp[i][j][k]:表示以j为支点时两边和为k的个数 注意去掉0,00,000……等。 代码如下: 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define ll __int64 5 using namespace s
·
2015-11-07 10:05
number
hdu 3652 B-number
数位DP
思路:
数位DP
1 #include<cstdio> 2 #include<cstring> 3 int bit[10],dp[10][10]
·
2015-11-07 10:04
number
uestc 1307 windy数
数位DP
主要注意下0的情况就可以!!! 链接:http://acm.uestc.edu.cn/problem.php?pid=1307 代码如下: 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define ll __int64 5 usin
·
2015-11-07 10:04
dp
hdu 3555 Bomb
数位DP
思路: dp[i][0]:没有49出现的个数 dp[i][1]:出现只4的个数 dp[i][2]:出现49的个数 代码如下: 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define ll __int64 5 using nam
·
2015-11-07 10:03
HDU
CF 55D Beautiful numbers
数位DP
思路: 要找一个数能被他的所有反的数字整除,只需求出这个数能被其数字的LCM整除。而LCM最大为5*7*8*9=2520; 如果直接开dp[20][2520][2520]会超内存,而2^3,3^2,5,7的组合只有4*3*2*2=48种,所以开dp[20][2520][50]即可。 链接:http://codeforces.com/problemset/problem/55/D 代码如下:
·
2015-11-07 10:02
number
hdu 2089 不要62
数位DP
思路: dp[i][0]:位数<=i且不含不吉利数字的个数; dp[i][1]:位数<=i且含6的个数。 代码如下: 1 #include<cstdio> 2 #include<cstring> 3 int bit[6],dp[6][3]; 4 int dfs(int pos,int h,bool f) 5 { 6
·
2015-11-07 10:01
HDU
hdu3709(
数位dp
)
比如4139 选择3位中点,那么左边的距离是4*2+1*1,右边的距离是9*1想了半天,想到了枚举哪一位作为中点,然后进行
数位dp
,但是样例错了,忽然想到会重复啊,就百度了一下原来只有0在枚举中点时会重复
justPassBy
·
2015-11-05 20:00
数位DP
-POJ-3252-Round Numbers
RoundNumbersTimeLimit:2000MSMemoryLimit:65536KTotalSubmissions:10811Accepted:3974DescriptionThecows,asyouknow,havenofingersorthumbsandthusareunabletoplayScissors,Paper,Stone’(alsoknownas‘Rock,Paper,Sc
Roy_Yuan
·
2015-11-05 18:00
c
dp
CodeForces 401D
数位DP
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=98182#problem/DDescriptionRomanisayoungmathematician,veryfamousinUzhland.Unfortunately,Serejadoesn'tthinkso.TomakeSerejachangehismind,Romanisready
u013573047
·
2015-11-04 20:00
HDU-2089-
数位DP
-不要62
题意求区间[N,M]中求不含62及4的个数思路
数位DP
/*************************************************************************
sinluan
·
2015-11-04 17:00
HDU-3555-
数位DP
-Bomb
149”,”249”,”349”,”449”,”490”,”491”,”492”,”493”,”494”,”495”,”496”,”497”,”498”,”499”,sotheansweris15.思路
数位
sinluan
·
2015-11-04 17:00
ACM
数位DP
-URAL-1057-Amount of Degrees
AmountofDegreesTimelimit:1.0secondMemorylimit:64MBCreateacodetodeterminetheamountofintegers,lyingintheset[X;Y]andbeingasumofexactlyKdifferentintegerdegreesofB.Example.LetX=15,Y=20,K=2,B=2.Bythisexampl
Roy_Yuan
·
2015-11-03 23:00
c
dp
UVA 12063 Zeros and Ones (
数位dp
)
Binary numbers and their pattern of bits are always very interesting to computer programmers. In this problem you need to count the number of positive binary numbers that have the following properties
·
2015-11-03 21:44
zero
hdu3652(
数位dp
)
要求找出范围内含有“13”且能被13整除的数字的个数 可以使用
数位dp
dp[i][j][0] 表示长度为i,余数为j,不含13的数字的个数 dp[i][j][1] 表示长度为i,余数为j,3开头的数字的个数
·
2015-11-03 20:15
HDU
HDU 4734 F(x)
思路:
数位DP
。f[dep][x]表示
·
2015-11-02 19:55
HDU
[ZJOI2010]数字计数
一眼
数位dp
,但。。。调试了好久。。
·
2015-11-02 19:00
数字
hdu 2089 不要62(初学
数位DP
)
http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意: 给定 m,.n; 求车牌号 m~n之间 有多少数字 不含 4或62 ,8652是可以的 。 Sample Input 1 100 0 0 Sample Output 80
·
2015-11-02 17:02
HDU
hdu 2604 Queuing(dp递推)
昨晚搞的第二道矩阵快速幂,一开始我还想直接套个矩阵上去(原谅哥模板题做多了),后来看清楚题意后觉得有点像之前做的
数位dp
的水题,于是就用
数位dp
的方法去分析,推了好一会总算推出它的递推关系式了(还是菜鸟
·
2015-11-02 17:08
HDU
HDU 4734 F(x) ★(
数位DP
)
题意 一个整数 (A nA n-1A n-2 ... A 2A 1), 定义 F(x) = A n * 2 n-1 + A n-1 * 2 n-2 + ... + A 2 * 2 + A 1 * 1,求[0..B]内有多少数使得F(x) <= F(A)。多组数据,T <= 1
·
2015-11-02 17:14
HDU
HDU 4352 XHXJ's LIS ★(
数位DP
)
题意 求区间[L,R]内满足各位数构成的数列的最长上升子序列长度为K的数的个数。 思路 一开始的思路是枚举数位,最后判断LIS长度。但是这样的话需要全局数组存枚举的各位数字,同时dp数组的区间唯一性也被破坏了(我不知道MYQ10那题怎么被我用这种方法做对的。。。) 看了题解后发现了二进制缩位处理LIS的巧妙方法~~ 我们用一个长10位的二进制数state表示0~9之前是否出现过,而更新的时候也需
·
2015-11-02 17:04
HDU
SPOJ MYQ10 (
数位DP
)
题意 询问区间[a,b]中的Mirror Number的个数,其中Mirror Number是指把它横着翻转后还能表示同样的数字。 思路 注意这个可不是回文数。。除了0,1,8,别的数字 翻转过后就不是数字了。所以策略就是记忆化按位搜索,每位只搜0,1,8,最后再判断是否回文,统计即可。这个判断回文是个小麻烦,因为它需要和前面的位相比较,所以用一个全局数组tmp[]表示枚举的每位的数字。 回过头来
·
2015-11-02 17:03
poj
ZOJ 2599 Graduated Lexicographical Ordering ★(
数位DP
)
求数字K的排名,变相得看就是求[1,N]中小于K的数的个数,
数位DP
统计下即可(记忆化搜索方式,dfs()过程):pos表示处理的位置;dig_sum表示当前枚举的数位和;隐藏的全局比较对象k_su
·
2015-11-02 17:03
order
BZOJ 1026 windy数 (
数位DP
)
题意 区间[A,B]上,总共有多少个不含前导零且相邻两个数字之差至少为2的正整数? 思路 状态设计非常简单,只需要pos、limit和一个前驱数pre就可以了,每次枚举当前位时判断是否与上一位相差2即可。一个需要注意的地方是第一位不用比较,所以我们还需要一个flag标志记录当前pos位是不是第一位。 代码 [cpp] #include <iostream> #includ
·
2015-11-02 17:01
ZOJ
SPOJ KPSUM ★(
数位DP
)
思路 花了一上午时间调BUG……必须承认SPOJ上的好题很多~每次做都有很大收获…… 我发现原来记忆化搜索的
数位DP
不止可以做统计,还可以做计算 。 我们应该把记忆化搜索形式的
数位DP
理解成一种
·
2015-11-02 17:00
poj
SPOJ BALNUM ★(位压缩状态+
数位DP
)
题意 求区间[A,B]上的平衡数个数。平衡数是这样的数:在数的各个位上,奇数数字出现偶数次,偶数数字出现奇数次。 思路 很明显我们需要记录每一位出现的次数。分别记录是不明智的,而我们又只需要记录奇数次或者偶数次即可。所以我们可以用一个<=1024的数state表示0~9这10个数字出现的次数奇偶性,当奇数出现偶数次则相应位为1,当偶数出现奇数次相应位为1,最后判断是不是1023。但是这样
·
2015-11-02 17:00
poj
HDU 3709 Balanced Number (
数位DP
)
思路 外层枚举平衡点,然后
数位DP
即可。
·
2015-11-02 17:59
number
CodeForces 55D Beautiful numbers (SPOJ JZPEXT
数位DP
)
题意 求[X,Y]区间内能被其各位数(除0)均整除的数的个数。 CF 55D 有些时候因为问题的一些“整体性”而导致在按位统计的过程中不能顺便计算出某些量,所以只能在枚举到最后一位确定数字时才能计算相应的统计。 在本题中,我们无法在过程中确定到底有哪些数位,以及这个数本身,所以这些计算都要放在最后。所以首先我们需要 参数num传递当前搜索确定的数字,以及判断该数字是否能被其数位整除。而判断各位整
·
2015-11-02 17:59
codeforces
UVA 11361 Investigating Div-Sum Property (
数位DP
)
思路 就是因为当初见了这道题不会才驱使我去学
数位DP
的,当时真的是一点儿思路都没有,然后看《训练指南》上的递推方法也云里雾里。
·
2015-11-02 17:58
property
HDU 3652 B-number (
数位DP
)
题意 要求区间[1,n]范围内有多少数包含13且被13整除。 思路 包含13、且被13整除。在状态转移时,既要保存上一位的状态,又要保存之前处理的位数与13的模。 pos表示处理到当前位;mod表示之前处理的数与13的模;flag = true表示前几位出现过连续的13,更新时只需判断以前是否出现过以及当前位和上一位是否组成13即可。 当然 笔良文昌牛牛用了另一种flag状态的设计:flag =
·
2015-11-02 17:57
number
HDU 4734 F(x) ★(
数位DP
)
题意 一个整数 (A nA n-1A n-2 ... A 2A 1), 定义 F(x) = A n * 2 n-1 + A n-1 * 2 n-2 + ... + A 2 * 2 + A 1 * 1,求[0..B]内有多少数使得F(x) <= F(A)。多组数据,T <= 1
·
2015-11-02 17:51
HDU
HDU 4352 XHXJ's LIS ★(
数位DP
)
题意 求区间[L,R]内满足各位数构成的数列的最长上升子序列长度为K的数的个数。 思路 一开始的思路是枚举数位,最后判断LIS长度。但是这样的话需要全局数组存枚举的各位数字,同时dp数组的区间唯一性也被破坏了(我不知道MYQ10那题怎么被我用这种方法做对的。。。) 看了题解后发现了二进制缩位处理LIS的巧妙方法~~ 我们用一个长10位的二进制数state表示0~9之前是否出现过,而更新的时候也需
·
2015-11-02 17:42
HDU
SPOJ MYQ10 (
数位DP
)
题意 询问区间[a,b]中的Mirror Number的个数,其中Mirror Number是指把它横着翻转后还能表示同样的数字。 思路 注意这个可不是回文数。。除了0,1,8,别的数字 翻转过后就不是数字了。所以策略就是记忆化按位搜索,每位只搜0,1,8,最后再判断是否回文,统计即可。这个判断回文是个小麻烦,因为它需要和前面的位相比较,所以用一个全局数组tmp[]表示枚举的每位的数字。 回过头来
·
2015-11-02 17:41
poj
ZOJ 2599 Graduated Lexicographical Ordering ★(
数位DP
)
求数字K的排名,变相得看就是求[1,N]中小于K的数的个数,
数位DP
统计下即可(记忆化搜索方式,dfs()过程):pos表示处理的位置;dig_sum表示当前枚举的数位和;隐藏的全局比较对象k_su
·
2015-11-02 17:40
order
SPOJ BALNUM ★(位压缩状态+
数位DP
)
题意 求区间[A,B]上的平衡数个数。平衡数是这样的数:在数的各个位上,奇数数字出现偶数次,偶数数字出现奇数次。 思路 很明显我们需要记录每一位出现的次数。分别记录是不明智的,而我们又只需要记录奇数次或者偶数次即可。所以我们可以用一个<=1024的数state表示0~9这10个数字出现的次数奇偶性,当奇数出现偶数次则相应位为1,当偶数出现奇数次相应位为1,最后判断是不是1023。但是这样
·
2015-11-02 17:39
poj
SPOJ KPSUM ★(
数位DP
)
思路 花了一上午时间调BUG……必须承认SPOJ上的好题很多~每次做都有很大收获…… 我发现原来记忆化搜索的
数位DP
不止可以做统计,还可以做计算 。 我们应该把记忆化搜索形式的
数位DP
理解成一种
·
2015-11-02 17:38
poj
BZOJ 1026 windy数 (
数位DP
)
题意 区间[A,B]上,总共有多少个不含前导零且相邻两个数字之差至少为2的正整数? 思路 状态设计非常简单,只需要pos、limit和一个前驱数pre就可以了,每次枚举当前位时判断是否与上一位相差2即可。一个需要注意的地方是第一位不用比较,所以我们还需要一个flag标志记录当前pos位是不是第一位。 代码 [cpp] #include <iostream> #includ
·
2015-11-02 17:38
ZOJ
CodeForces 55D Beautiful numbers (SPOJ JZPEXT
数位DP
)
题意 求[X,Y]区间内能被其各位数(除0)均整除的数的个数。 CF 55D 有些时候因为问题的一些“整体性”而导致在按位统计的过程中不能顺便计算出某些量,所以只能在枚举到最后一位确定数字时才能计算相应的统计。 在本题中,我们无法在过程中确定到底有哪些数位,以及这个数本身,所以这些计算都要放在最后。所以首先我们需要 参数num传递当前搜索确定的数字,以及判断该数字是否能被其数位整除。而判断各位整
·
2015-11-02 17:37
codeforces
HDU 3709 Balanced Number (
数位DP
)
思路 外层枚举平衡点,然后
数位DP
即可。
·
2015-11-02 17:36
number
UVA 11361 Investigating Div-Sum Property (
数位DP
)
思路 就是因为当初见了这道题不会才驱使我去学
数位DP
的,当时真的是一点儿思路都没有,然后看《训练指南》上的递推方法也云里雾里。
·
2015-11-02 17:35
property
HDU 3652 B-number (
数位DP
)
题意 要求区间[1,n]范围内有多少数包含13且被13整除。 思路 包含13、且被13整除。在状态转移时,既要保存上一位的状态,又要保存之前处理的位数与13的模。 pos表示处理到当前位;mod表示之前处理的数与13的模;flag = true表示前几位出现过连续的13,更新时只需判断以前是否出现过以及当前位和上一位是否组成13即可。 当然 笔良文昌牛牛用了另一种flag状态的设计:flag =
·
2015-11-02 17:35
number
[zoj 3416/hdu 3709]
数位DP
题意:求从区间[L, R]内有多少个数是平衡数,平衡数是指以10进制的某一位为中心轴,左右两边的每一位到中心轴的距离乘上数位上的值的和相等。0<=L<=R<=1e18 思路:由于任何非0正数最多只有1个位置作为中心轴使得它是平衡数。于是可以按中心轴的位置分类统计答案。令dp[p][i][j]表示中心轴在p位(p>=0)前i位且左边比右边的加权和已经多j的方案数,枚举当前第
·
2015-11-02 16:02
HDU
数位dp
——统计'1'的个数
今天去牛客网看了看 包含一 这道题,一开始没看清,以为它要统计 1~n 所有数中数字 '1' 出现的总次数,也就是说,若 n == 11,则 ans = 4;而按照题目的原意 ans 应该为 3。看错题意后还是挣扎了好久,具体的调试过程也不想回忆叙述了,先贴上按照我一开始理解的意思的代码吧,虽然没有题目让我测,但我和自己写的暴力法对拍过,应该没问题的。 1 #i
·
2015-11-02 15:07
dp
hdu 3555 Bomb 炸弹(
数位DP
)
思路:
数位DP
。2^64也顶多是十进制的20多位,那么按十进制位来分析更简单。如果能计算1,2,3,4...位十进制数中分别有多少个含49的,那么计算就简单了。
·
2015-11-02 11:24
HDU
bnu 4359(
数位dp
)
题目链接:http://gnu.bnu.edu.cn/contest/problem_show.php?pid=4359 思路:直接递推就可以了,dp[i][0]表示前i位不含4或者13,且最后一位不为1的个数,dp[i][1]表示前i位不含4或者13,最后一位为1的个数;于是有dp[i][0]=8*dp[i-1][0]+7*dp[i-1][1],dp[i][1]=dp[i-1][0]+dp[i
·
2015-11-02 11:33
dp
数位dp
题目链接:http://acdreamoj.sinaapp.com/problem.php?id=1083 没什么好说的,具体看代码吧。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namesp
·
2015-11-02 11:19
dp
HDU2089
//
数位dp
,恶心到爆!!!//要多练!!
·
2015-11-01 15:48
HDU
初探
数位DP
-hdu2089
一开始刷dp就遇到了
数位dp
,以前程序设计艺术上看过一点,基本没懂,于是趁今天遇到题目,想把它搞会,但就目前状态来看仍然是似懂非懂啊,以后还要反复搞 统计区间[l,r]的满足题意的数的个数,可以转换成求
·
2015-11-01 15:13
HDU
F题
Problem F Codeforces 16E 这道题是一道
数位Dp
将鱼的死活列为0两种状态然后找DP关系 •题意:有n(n<=18)条鱼,接下来的n-1天,每天会有一对鱼(a,b)相遇,每天任意一对鱼相遇的概率是相等的
·
2015-11-01 14:40
FZU_2019_Mountain Number题解
这题终于让我把
数位DP
的本质看清楚了。 http://acm.fzu.edu.cn/problem.php?
·
2015-11-01 14:48
mountain
上一页
26
27
28
29
30
31
32
33
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他