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
UESTC 884 方老师的专题讲座 --
数位DP
定义:cnt[L][K]表示长度为L,最高位为K的满足条件C的个数。 首先预处理出cnt数组,枚举当前长度最高位和小一个长度的最高位,如果相差大于2则前一个加上后一个的方法数。 然后给定n,计算[1,n-1]中满足条件C的数的个数。 设有K位数,则不足K位的累加,然后枚举K位数的情况,从高位到低位枚举,每次枚举到比该位小1的数,注意:如果某时刻该数中有两位相差大于2,则再枚举下去已经没有意义
·
2015-11-12 10:02
dp
【上海交大oj】数学题3(
数位dp
)
1398. 数学题3 题目描述 给定一个数字,他在十进制下从高位到低位一次是n0, n1, n2, n3,... 那么定义它的“差和”为n0-n1+n2-n3+... 如:十进制数字abcdefg,每个字母代表一个位,那么差和为a-b+c-d+e-f+g。 所以十进制数字1234567差和为1-2+3-4+5-6+7=4 现在给你们一个闭区间[m, n],请求出区间内差和为x的数字个
·
2015-11-12 10:34
dp
Codeforces Round #235 (Div. 2) D (dp)
以为是组合,后来看着像
数位dp
,又不知道怎么让它不重复用。。然后就没思路 了。
·
2015-11-12 09:37
codeforces
HDU 3555 Bomb(
数位DP
)
算是第一个
数位DP
吧,感觉
数位DP
只是通过数字之间的关系,写出状态转移方程的,看了别人的状态的转移,我以为我就可以做出来的,谁知,最后计算貌似比状态转移还难理解,至今不太明白为何要先+1,再计算,猜测可能是计算的时候只能计算
·
2015-11-12 09:20
HDU
hdu---(3555)Bomb(
数位dp
(入门))
Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 7921 Accepted Submission(s): 2778 Problem Des
·
2015-11-11 19:01
HDU
hdu----(5045)Contest(
数位dp
)
Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 220 Accepted Submission(s): 88 Problem Desc
·
2015-11-11 19:00
test
hdu2089 不要62
//我写的第一个
数位dp
//然而并不能理解 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath
·
2015-11-11 18:25
HDU
找规律/
数位DP
HDOJ 4722 Good Numbers
题目传送门 1 /* 2 找规律/
数位DP
:我做的时候差一点做出来了,只是不知道最后的 is_one () 3 http://www.cnblogs.com/crazyapple
·
2015-11-11 18:19
number
Ural1057 - Amount of Degrees(
数位DP
)
题目大意 求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和。例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意: &n
·
2015-11-11 17:45
mount
hdu 2089 不要62 (
数位dp
)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=2089 思路:首先初始化预处理dp[i][j] 及i位数当前位为j时 即 0到 i * 10^j 符合条件的数 然后求出 fun(r+1)-fun(l) &
·
2015-11-11 16:06
HDU
数位dp
模板
通常的
数位dp
写法 int dfs(int i, int s, bool e) { if (i==-1) return s==target_s; if (!
·
2015-11-11 16:32
dp
数位dp
知识
转自http://blog.csdn.net/zhaoxinfan/article/details/8707605 下面先给出
数位DP
的背景: •在给定区间[A,B]内,找满足要求的数
·
2015-11-11 16:30
dp
poj1715Hexadecimal Numbers(
数位dp
)
链接 好久没写这种逐位计数的了。 先统计出总的数 ,s-n+1,倒着计算的 ,感觉倒着比较符合计算方式,总数为15*A(15,i) (1=<i<=8) 也就是1-8长度所有的排列总数 然后依次从长度1加起 加到第一个>=n的 就找到了 该字符串的长度 然后再逐位进行找下一位 首位不为0. 1 #include <iostream> 2 #incl
·
2015-11-11 16:26
number
九度OJ 1491 求1和2的个数(组合数学)
题目链接 对
数位DP
,不太熟,组合的方法可能更好想,实现把所有的情况都考虑清楚。 例如算1的个数的时候。
·
2015-11-11 15:29
数学
记录做过的各种DP
做DP,已经有一段时间了,虽然还有很多不会的,树形DP,
数位DP
,状态压缩DP。。。
·
2015-11-11 15:58
dp
hdu 3555
数位DP
这题完全是看解题报告做出来的,之前完全没有这样的思路, DP数组的含义还是挺好理解的,后面使用的时候反而是想了好久才理解…… /* * hdu3555/linux.cpp * Created on: 2011-8-30 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring&
·
2015-11-11 15:20
HDU
poj 3252 Round Numbers
id=3252 题意:给出一个二进制区间,求出0的个数不小于1的个数这样的二进制个数 解法:
数位DP
,定义状态dp[len][num_zero][num_one],num_zero 定义为写0的个数
·
2015-11-11 14:43
number
LightOJ 1140 How Many Zeroes
解法:
数位DP
,定义dp[len][flag][num]:len的定义为数位的长度,flag定义为前导0和没有前导0的两种状态,num定义为写的满足条件的0的个数。
·
2015-11-11 14:42
zero
hdu 2089 不要62
解法:
数位DP
的入门题。
·
2015-11-11 14:40
HDU
POJ 3208 Apocalypse Someday
简要分析: 第一反应是某种
数位DP
, 第二反应是要匹配666, 建个自动机...只有4种状态的自动机. 0表示没有666且当前没有6, 1表示没有666且当前有一个6, 2表示没有666
·
2015-11-11 11:11
poj
数位统计/
数位DP
专题
本质上是暴力模拟计算,逐位统计、以及如何寻找不被约束的状态来简化计算 是关键点。 例题1 ural 1057. 1. 树形结合, 按位统计. 若当前位为1, 则取0, 剩下的位任意取都比其小, ans += f[ L ][ k-tot ], L表示剩下长度. 论文这个地方写的感觉不对- -... #include<cstdio> #include
·
2015-11-11 11:57
dp
hdu 4389 x mod f(x)
数位DP
题意 求区间[a,b] 之间, x%f(x) = 0的数量, 其中f(x)表示x的数位和. 解题思路: 转换成 F(A) = { x | x%f(x) = 0, 1 <= x <= A } , 然后结果即为 F(B)-F(A-1) 首先定义一个状态. dp( L, i, j, k ) 表示长度为L的数位和为i,其对j取模结果为k的方案数. 在同模j
·
2015-11-11 11:45
HDU
Codeforces 55D Beautiful Number (数位统计)
把
数位dp
写成记忆化搜索的形式,方法很赞,代码量少了很多。
·
2015-11-11 11:51
codeforces
(
数位DP
)
题目链接 终于过了,边界让我wa了好几次,猥琐的用AC代码对拍,很无奈,用非常麻烦的方法。写一下,估计以后再碰到,肯定看不懂这是写的什么了。 以前做过,统计1和2的,统计0比1和2麻烦多了,有前导0的情况,不太好弄。 算是用统计方法,先把sp[len-1]所有的加上,长度为len-1的情况。 然后就是长度为len的情况。从高位到低位,遍历。 如果此位是0,judge(str+1) + 1
·
2015-11-11 10:38
poj
HDU 4518 吉哥系列故事——最终数(自动机+
数位DP
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4518 题意:定义数列F为包含大于10的斐波那契数的数组成的数列,F的前几项为13 ,21, 34, 55, 89,113,121,130,131...定义数列“最终数”为F中的斐波那契项组成的数列,“最终数”的前几项为:13,21,34,89……现在给出n,问“最终数”中与n最接近的数与n的绝对值。
·
2015-11-11 09:54
HDU
ZOJ 3494 BCD Code(自动机+
数位DP
)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4317 题意: 给定一些01的病毒串。将一个数字化成BCD码(数字0到9对应0000到1001,比如127为000100100111)后不包含病毒传则该数字为安全数字。给出L和R,求区间[L,R]内的安全数字的个数。 思路:首先将病毒串建立自动机。然后用数组p[i]
·
2015-11-11 09:52
code
HDU4507 吉哥系列故事——恨7不成妻(
数位DP
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4507 题意:如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关: 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍; 现在吉哥想知道在一定区间内[L,R]和7无关的数字的平方和。 思路: #include <ios
·
2015-11-11 09:39
HDU
UVA11361 Investigating Div-Sum Property(
数位dp
)
分析:
数位dp
首先注意到1+9*9=82,即k最大只能是82,所
·
2015-11-11 08:30
property
数位DP
专题
这周开始刷
数位DP
,在网上找到一份神级
数位DP
模板,做起题目来爽歪歪。
·
2015-11-11 06:27
dp
UVALive 4864 Bit Counting --记忆化搜索 /
数位DP
?
题目链接: 题目链接 题意:如果一个数二进制n有k位1,那么f1[n] = k,如果k有s位二进制1,那么f2[n] = f1[k] = s. 如此往复,直到fx[n] = 1,此时的x就是n的”K值“,现在要求[L,R]内的”K值“为X的数有多少个。(1<=L<=R<=10^18) 解法:首先可以看到10^18最多只有61位左右的数,所以我们只需处理1
·
2015-11-11 05:56
count
花神的数论题(
数位dp
)
规定sum[i] 为i里面含1的个数 ,求从1-N sum[i]的乘积。 数为64位内的,也就是sum[i]<=64的,这样可以dp求出1-N中含k个1的数有多少个,快速幂一下就可以了。 有个地方没开LL ,WA了几次。 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring
·
2015-11-11 05:33
dp
hdu4588Count The Carries
链接 去年南京邀请赛的水题,当时找规律过的,看它长得很像
数位dp
,试了试用
数位dp
能不能过,d出每位上有多少个1,然后TLE了。。然后用规律优化了前4位,勉强过了。
·
2015-11-11 05:30
count
Amount of Degrees(
数位DP
)
题目链接 我看错题了。。。都是泪啊,不存在3*4^2这种情况。。。系数必须为1。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <vector> 5 using namespace std; 6 #define LL
·
2015-11-11 04:00
mount
SRM 595 DIV2 1000
数位DP
的感觉,但是跟模版不是一个套路的,看的题解,代码好理解,但是确实难想。
·
2015-11-11 04:58
div
Little Elephant and Elections(
数位DP
+枚举)
数位DP
部分,不是很难。DP[i][j]前i位j个幸运数的个数。枚举写的有点搓。。。
·
2015-11-11 04:56
codeforces
Beautiful numbers(
数位DP
)
题目链接 这题,没想出来,根本没想到用最小公倍数来更新,一直想状态压缩,不过余数什么的根本存不下,看的von学长的blog,比着写了写,就是模版改改,不过状态转移构造不出,怎么着,都做不出来。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using name
·
2015-11-11 04:24
number
HDU 3652 B-number(
数位DP
)
题目链接 学习大神的
数位DP
模版。
·
2015-11-11 04:23
number
UESTC 1307 windy数(
数位DP
)
题目链接 这其实入门题,不过,我写了好一会,还是一直wa,图样。。。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <queue> 5 #include <map> 6 #include <ctime&g
·
2015-11-11 04:20
dp
HDU 4507 有点复杂却不难的
数位DP
首先来说,,这题我wrong了好几次,代码力太弱啊。。很多细节没考虑。。 题意:给定两个数 L R,1 <= L <= R <= 10^18 ;求L 到 R 间 与 7 无关的数的平方和 什么数与7 无关? 1 没有数字7 2 不是7的倍数 3 所有数字的和不是7的倍数 我们先来考虑一下 如果这题问的是: L 到 R 间 与7 无关的数有多
·
2015-11-11 04:40
HDU
toj 2829 cow counting
一开始想多了,以为应该做个
数位dp
的,后来想了想也不过100W的数据,直接暴力好像也不慢,于是暴力就过了,还挺快。
·
2015-11-11 03:20
count
数位DP
入门Ural1057
昨天解D题时候,因为太累,根本连题目都没看,今天看了之后感觉不会做,听闻是
数位DP
问题。 有某神说过,DP的功力建立在刷过的题上,我真的毫无功力可言。 介绍大家一个很不错的文章。 中学生写的啊!
·
2015-11-11 02:51
入门
zznu 1255 数字统计(
数位DP
, 数学方法)
最近在学
数位DP
, 感觉还是满有收获的! 做了几个题之后想起来自己OJ上曾经做的一道题,以前是用数学方法写的,现在改用
数位DP
来写了一遍。
·
2015-11-11 02:52
方法
POJ Round Numbers(
数位DP
)
题目大意: Round Number: 将一个整数转化为二进制数字后,(不含前导0) 要是0的个数 大于等于1的个数 则是 Round Number 问从L-R之中有多少个Round Number 题目分析: 要转化为2进制数字,我们用10进制保存明显不好判断0和1的个数,所以选择用8进制来存储,这样的话每一次进位会多出 ”000“, 然后再加上8进制的尾数, 最后我们可以得出
·
2015-11-11 02:52
number
hud 2089 不要62 (
数位dp
)
#include<stdio.h> #include<string.h> #include<math.h> #define max 10 int dp[max][3]; int number[max]; //dp[i][0] 前i位数中不符合要求的总个数 //dp[i][1] 前i位数中最高位是2的个数 //dp[i][2] 前i位数中存在含4和
·
2015-11-10 23:11
dp
zoj3494BCD Code(ac自动机+
数位dp
)
刚开始想错了,以为用自动机预处理出k长度可以包含的合法的数的个数,然后再
数位dp
一下就行了,写到一半发现不对,还要处理当前走的时候是不是为合法的,这一点无法移到trie树上去判断。
·
2015-11-10 22:08
AC自动机
CodeForces 55D Beautiful numbers
数位dp
中不错的题目 求能够整除自身各位数字的数,那换句话来说也就是能够整除各位数的最小公倍数,可以算出1-9所有数字的最小公倍数为2000+ 从高位向下走的时候,要保留当前第几位i,当前lcm,以及前面对
·
2015-11-10 22:51
codeforces
hdu2089:不要62(基础
数位dp
)
题意:规定一个合法的号码不能含有4或者是连续的62 给定区间[n,m] 问此区间内合法的号码的个数 分析:
数位dp
dp[i][j]代表 最高位为 j 的 i 位数有多少个合法的 然后按题目规则进行转移即可
·
2015-11-10 22:04
HDU
[总结]数位统计模板
偷看了下7k+大牛的数位统计dp写法,通常的
数位dp
可以写成如下形式: int dfs(int i, int s, bool e) { if (i==-1) return s==target_s
·
2015-11-09 14:18
总结
CF-55D-
数位DP
-Beautiful Number
题意求给定区间内beautifulnumber的数目beautifulnumber:能被它自身非零位整除思路一个数字要被它的所有非零位整除,即被他们的LCM整除若x为beautifulnumber则有x%LCM{DIGIT[xi]}==0⇒x%MOD%LCM{DIGIT[xi]}==0其中MOD为LCM{1…9}我们可以记录DP[数位][num%MOD][num的LCM]当且num%MOD%num
sinluan
·
2015-11-09 14:00
ACM
【
数位DP
】 HDU 4734 F(x)
原题直通车: HDU 4734 F(x) 题意:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1, 求0.....B中F[x]<=F[A]的个数。 代码: // 31MS 548K 931 B G++ #include<iostream> #include<cstdio> #in
·
2015-11-09 14:43
HDU
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
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
其他