HDU2089:不要62——题解】的更多相关文章

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题目大意:求区间 \([l,r]\) 范围内不包含数字"4"且不包含连续的数字"62"的数的数量. 解题思路: 数位DP 入门题. 我们开一个函数 dfs(int pos, int stat, bool limit) ,其中: pos表示目前将要访问的数的位置: pre表示前一个值是不是6,因为这里涉及到62连数(而单个4不需要存储之前的状态, stat \(=1…
[HDU2089]不要62 试题描述 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众.不吉利的数字为所有含有4或62的号码.例如:62315 73418 88914都属于不吉利号码.但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列.你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少…
数位dp主要用来处理一系列需要数数的问题,一般套路为“求[l,r]区间内满足要求的数/数位的个数” 要求五花八门……比如“不出现某个数字序列”,“某种数的出现次数”等等…… 面对这种数数题,暴力的想法是枚举每个数,判断是否满足条件 比如这样: #include<cstdio> using namespace std; typedef long long LL; LL l,r,cnt; int main() { scanf("%lld%lld",&l,&r);…
数位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)…
http://acm.hdu.edu.cn/showproblem.php?pid=2089 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众.不吉利的数字为所有含有4或62的号码.例如:62315 73418 88914都属于不吉利号码.但是,61152虽然含有6和2,但不是62连号,所…
不要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).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可…
Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数满足f(x)=x 题解 显然直接带进去就好了-- 代码 #include<bits/stdc++.h> using namespace std; int main() { int p1,p2,p3,p4,a,b; scanf("%d%d%d%d%d%d",&p1,&am…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 47943    Accepted Submission(s): 18165 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交…
#include <stdio.h> #include <string.h> ][]; ]; /* dp[i][0] 不含62,4 dp[i][1] 2开头 dp[i][2] 含62或4 */ void init() { int i; dp[][] = ; ; i<; ++i) { dp[i][] = dp[i-][] * - dp[i-][]; dp[i][] = dp[i-][]; dp[i][] = dp[i-][] * + dp[i-][] + dp[i-][]; }…
类型:数位DP 传送门:>Here< 题意:问区间$[n,m]$的数字中,不含4以及62的数字总数 解题思路 数位DP入门题 先考虑一般的暴力做法,整个区间扫一遍,判断每个数是否合法并累计答案.而数位DP则认为可以换一种方法来枚举,找到对于一个数的上限,然后在这个限度内枚举每一个数位来统计答案 为了方便数位DP,题意可以转化求区间$[0, k]$的符合要求的数字总数,因此答案就是$ans(M)-ans(N-1)$ 首先我们可以预处理出dp数组:$dp[i][j]$表示以$j$开头的$i$位数的…
不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 26083    Accepted Submission(s): 9085 数位dp大法好! . Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局常常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利…
http://www.cnblogs.com/xiaohongmao/p/3473599.html #include<cstdio> using namespace std; int n,m,f[8][3]; void init() { f[0][0]=1; for(int i=1;i<=7;++i) { f[i][0]=f[i-1][0]*9-f[i-1][1]; f[i][1]=f[i-1][0]; f[i][2]=f[i-1][2]*10+f[i-1][0]+f[i-1][1];…
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众.不吉利的数字为所有含有4或62的号码.例如:62315 73418 88914都属于不吉利号码.但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列.你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了.   Input…
不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 43588    Accepted Submission(s): 16034 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可…
例题:不要62 同步数位DP 需要统计区间[l,r]的满足题意的数的个数,这往往可以转换成求[0,r]-[0,l) 基本思想与方法 有了上述性质,我们就可以从高到低枚举第一次<n对应位是哪一位. 这样之前的位确定了,之后的位就不受n的限制即从00...0~99...9,可以先预处理,然后这时就可以直接统计答案. 预处理F数组. F[i,st] 代表 位数为i(可能允许前导0.如00058也是个5位数),状态为st的方案数.这里st根据题目需要确定. 如i=4,f[i,st]也就是0000~999…
题目链接: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…
基础题复习 这次用了dfs写法,感觉比较好 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; const int N=10; inline int read(){ char c=getchar();int x=0,f=1; while(c<'0'||c>'9…
http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位DP的思想时预处理以x开头长度为len的数(例如 x000~x999)的所有情况.给出一个数,可以在log10(n)的复杂度下完成分解. #include <iostream> #include <cstring> #include <string> #include <queue> #include <vector> #include <ma…
题目描述 杭州人称那些傻乎乎粘嗒嗒的人为 626262(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众. 不吉利的数字为所有含有 444 或 626262 的号码.例如:62315,73418,8891462315,73418,8891462315,73418,88914 都属于不吉利号码.但是,611526115261152 虽然含有 666 和 222,但不…
为了我的点歪的技能树…… 所以开始补一些sb的东西…… #include<bits/stdc++.h> typedef long long ll; using namespace std; ],dp[][]; int dfs(int x,int pre,int vis,int lim){ ); )return dp[x][vis]; ;; ;i<=maxv;i++){ &&i==))continue; tmp+=dfs(x-,i,i==,lim&&i==a…
A.Graph 因为点可以随便走,所以对于每个联通块,答案为边数/2向下取整. 用类似Tarjan的方式,对于每个联通块建立一棵搜索树,尽量让每一个节点的儿子两两配对,如果做不到就用上头顶的天线. #include<cstdio> #include<iostream> #include<cstring> #include<vector> using namespace std; const int N=2e5+5; int read() { int x=0,…
数位DP是我的噩梦. 现在初三了,却没AC过数位DP的题目. 感觉数位DP都是毒瘤-- 题目 hdu不用登录也可以进去,所以就不把题目copy到这里来了. 题目大意 求区间[n,m][n,m][n,m]中,不含有444和626262的数的个数. 解析 数位DP的难点主要在于不能出界. 因为这个东西,我被卡了不知道多少年-- 先不要想出界,那么显然,状态可以这么设: 设fi,jf_{i,j}fi,j​表示做到第iii位,并且这一位为jjj的方案数. 方程显然 if (j!=4 && !(j=…
由简单到稍微难点. 从网上搜了10到数位dp的题目,有几道还是很难想到的,前几道基本都是模板题,供入门用. 点开即可看题解. hdu3555 Bomb hdu3652 B-number hdu2089 不要62 hdu4734 F(x) hdu4389 X mod f(x) ural1057 Amount of Degrees hdu4352 XHXJ's LIS CodeForces 55D Beautiful numbers zoj3416 Balanced Number VJ专题题目链接…
因为这几天写的几道数位DP大多都太水..而且也确实没什么好讲所以就扔到一起了. [hdu4772]Good Numbers 要求统计区间内 各位数之和能被10整除 的数的个数. 练手,f[i][j][k]表示i位的数,以j开头,各位数之和取模10的结果为k,的方案数. #include<cstdio> #include<iostream> #include<cstring> #define ll long long using namespace std; int i,…
[背景] 在10月3日的dp专练中,压轴的第6题是一道数位dp,于是各种懵逼. 为了填上这个留存已久的坑,蒟蒻chty只能开坑数位dp了. [例题一][HDU2089]不要62 题目大意:给你一个区间[l,r],求区间内不含4和62的数的个数. 分析:首先  ans[l,r]=ans[0,r]-ans[0,l-1],这样成功将问题转化为了求区间[0,x]的答案,然后减一下即可. 然后可以预处理出一个f[][]数组,f[i][j]表示表示在i位数中以j开头的满足条件的数的个数,那么显然f[i][j…
题目描述 Recently, Miss Huang want to receive a Tree as her birthday gift! (What a interesting person!)  As a interesting person, Miss Huang likes interesting tree. The interesting tree is a tree with the Max interesting degree. The interesting degree eq…
Problem H. ICPC QuestTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100500/attachments Description Coach Fegla has invented a song effectiveness measurement methodology. This methodology in simple English means count the frequ…
转载自:http://blog.csdn.net/guognib/article/details/25472879 参考: http://www.cnblogs.com/jffifa/archive/2012/08/17/2644847.html kuangbin :http://www.cnblogs.com/kuangbin/category/476047.html http://blog.csdn.net/cmonkey_cfj/article/details/7798809 http:/…
Problem UVA10603-Fill Accept:1162  Submit:10693 Time Limit: 3000 mSec  Problem Description There are three jugs with a volume of a, b and c liters. (a, b, and c are positive integers not greater than 200). The first and the second jug are initially e…
题目大意 给你\(n,r\),求第\(n\)个不能被表示为\(a^b(2\leq b\leq r)\)的数 \(n\leq 2\times {10}^{18},r\leq 62\) 题解 我们考虑二分,求\(\leq m\)的不能被表示为\(a^b\)的数\(f(m)\) 我们先忽略\(1\) 我们钦定能被表示为\(a^2,a^3,a^5\)等\(b\)为质数的数,贡献为\(\lfloor\sqrt[2]{m}\rfloor-1,\lfloor\sqrt[3]{m}\rfloor-1\cdots…