hdu2089(数位dp)】的更多相关文章

不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 31547    Accepted Submission(s): 11172 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,…
不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 25802    Accepted Submission(s): 8967 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以…
旁听途说这个名字很久了,了解了一下. 改题目的意思是给你若干区间,让你找寻区间内不含62或4的数. 首先暴力必然T...那么实际上就是说,想办法做一种预处理,在每次输入的时候取值运算就可以了. 既然是DP先说一下dp[ i ][ j ]: 表示有 i 位并且最高为是 j 的数包含多少符合条件的数. (读者仔细思考一下为什么这样设定,为什么这样子可以得到答案,实际dp训练的就是这个) 然后接下来最重要的就是DP转移方程了,首先对于i等于1的情况来说直接赋值就好了. 如果 i 不等于1,则传递关系如…
不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 36862    Accepted Submission(s): 13418 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可…
数位dp入门 hdu2089 不要62 题意: 给定一个区间[n,m] (0< n ≤ m<1000000),找出不含4和'62'的数的个数 (ps:开始以为直接暴力可以..貌似可以,但是直接TLE了2333).其实是数位DP的入门题: 初探数位DP:写的很详细(看完就不必看我的代码了..) f[i,j]:位置长度为i以j开头的符合条件的数的个数:(一般的dp式子中,第二个参数依题意):这就直接可以推出f[i,j] = f[i,j] + f[i-1,k] ( j != 6 || k != 2)…
数位dp主要用来处理一系列需要数数的问题,一般套路为“求[l,r]区间内满足要求的数/数位的个数” 要求五花八门……比如“不出现某个数字序列”,“某种数的出现次数”等等…… 面对这种数数题,暴力的想法是枚举每个数,判断是否满足条件 比如这样: #include<cstdio> using namespace std; typedef long long LL; LL l,r,cnt; int main() { scanf("%lld%lld",&l,&r);…
题意:规定一个合法的号码不能含有4或者是连续的62 给定区间[n,m] 问此区间内合法的号码的个数 分析:数位dp dp[i][j]代表 最高位为 j 的 i 位数有多少个合法的 然后按题目规则进行转移即可 dp结束后,再统计范围内的总数,最后打表输出 代码: #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define MAX 100000000 int n,…
不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 20634    Accepted Submission(s): 7063 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就…
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求区间[a,b]内不含有62或4的数的个数. 分析:数位dp,dp[pos][0]表示到第pos位还没含有62或4,dp[pos][1]表示到第pos位前一位是6,dp[pos][2]表示已包含4或62. #include <cstdio> #include <cstring> #include <string> #include <cmath> #…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位DP的入门题,我是根据kuangbin的博客写出来的 思路: dp[i][0],表示长度为i,不存在不吉利数字 dp[i][1],表示长度为i,不存在不吉利数字,且最高位为2 dp[i][2],表示长度为i,存在不吉利数字 然后一层循环即可,主要是自己要能搞懂状态之间的关系 代码如下: #include<iostream> #include<cstring> #include…