HDU 2089(暴力和数位dp)
传送门:
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): 54847 Accepted Submission(s): 21063
杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。
不吉利的数字为所有含有4或62的号码。例如:
62315 73418 88914
都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。
你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。
0 0
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f(ll x)
{
int a,b;
while(x)
{
a=x%;
b=x/%;
if(a==||b==||(a==&&b==))
return ;
x=x/;
}
return ;
}
int main()
{
int n,m;
while(~scanf("%d %d",&n,&m))
{
if(n==&&m==)
break;
if(n>m)
{
int t=n;
n=m;
m=t;
}
ll sum=;
for(ll i=n;i<=m;i++)
{
if(f(i)==)
sum++;
}
printf("%I64d\n",sum);
}
return ;
}
2.数位dp
思想:
dp【i】:表示1到i符合要求的数的数量
dp【i】:
1.如果i符合要求,就是dp【i】=dp【i-1】+1;
2.如果i不符合要求的话,就是dp【i】=dp【i-1】
code:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define max_v 1000005
ll dp[max_v];
ll f(ll x)
{
int a,b;
while(x)
{
a=x%;
b=x/%;
if(a==||b==||(a==&&b==))
return ;
x=x/;
}
return ;
} int main()
{
//数位dp
dp[]=;
dp[]=;
dp[]=;
dp[]=;
for(ll i=; i<max_v; i++)
{
if(f(i)==)//判断自身
dp[i]=dp[i-]+;
else
dp[i]=dp[i-];
}
int n,m;
while(~scanf("%d %d",&n,&m))
{
if(n==&&m==)
break;
if(n>m)
{
int t=n;
n=m;
m=t;
}
if(f(n)==)//在dp[m]-dp[n]的时候会把n的情况也减掉,所以需要再判断一下n,是的话加1
printf("%I64d\n",dp[m]-dp[n]+);
else
printf("%I64d\n",dp[m]-dp[n]);
}
return ;
}
HDU 2089(暴力和数位dp)的更多相关文章
- HDU 2089 - 不要62 - [数位DP][入门题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...
- [hdu 2089] 不要62 数位dp|dfs 入门
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求[n, m]区间内不含4和62的数字个数. 这题有两种思路,直接数位dp和dfs 数位d ...
- Hdu 2089 不要62 (数位dp入门题目)
题目链接: Hdu 2089 不要62 题目描述: 给一个区间 [L, R] ,问区间内不含有4和62的数字有多少个? 解题思路: 以前也做过这个题目,但是空间复杂度是n.如果数据范围太大就GG了.今 ...
- HDU 2089 不要62 数位DP模板题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 参考博客:https://www.cnblogs.com/HDUjackyan/p/914215 ...
- HDU 2089 不要62(数位DP·记忆化搜索)
题意 中文 最基础的数位DP 这题好像也能够直接暴力来做 令dp[i][j]表示以 j 开头的 i 位数有多少个满足条件 那么非常easy有状态转移方程 dp[i][j] = sum{ dp[ ...
- hdu 2089 不要62 数位dp
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu 2089 不要62 (数位dp基础题)
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu 2089不要62 (数位dp)
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来 ...
- HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛
普通的数位DP计算回文串个数 /* HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛 2-36进制下回文串个数 */ ...
随机推荐
- Java基础(七)常用类
一.Math类 1.Math类介绍 Math类属于java.lang包下面,里面包含用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数,该类被final修饰. 常用字段: 1.E 表示自然 ...
- No.5一步步学习vuejs之事件监听和组件
一监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. <div id="demo1"> <button v-on ...
- 定时器实现方式之TimerTask、Timer
在未来某个指定的时间点或者经过一段时间延迟后执行某个事件,这时候就需要用到定时器了.定时器的实现方式有很多种,今天总结最简单的实现方式.java 1.3引入了定时器框架,用于在定时器上下文中控制线程的 ...
- 关于background定位
直到刚刚我才发现我小瞧了background定位 因为项目里需要显示隐藏的按钮上有两个图标 开始想了几种方法都不行,然后突然就想到了background定位 果断试了一下 <input type ...
- Ajax与jsonp
1.ajax的概念 AJAX = Asynchronous Javascript And XML (AJAX = 异步 javascript 和 xml) AJAX是一种无需重新加载整个网页的 ...
- Codeforces Round #411 B. 3-palindrome
B. 3-palindrome time limit per test 1 second memory limit per test 256 megabytes In the beginning ...
- Android TabHost切换选项卡实现数据实时刷新
手机界面大小有限,使用TabHost可以达到在一个Activity中放入多个容器(界面)的效果.但存在一个问题是,当数据信息在一个容器(界面)中有所改变时,需要在用户切换选项卡到其他容器(界面)的时候 ...
- jenkins start
author:alex.wang date:2017.05.25 system:centos7.2 ip:192.168.1.46 download: wget http://mirrors.jenk ...
- .Net ->> iTextSharp工具读取PDF文本内容
分享一个开源的C#DLL,可以读取PDF文本内容. 地址:http://sourceforge.net/projects/itextsharp/ 这里还有相关的链接:http://www.codepr ...
- javascript实现的动态添加表单元素input,button等(appendChild)
写一个小系统时,需要动态添加表单元素,按自己的实现方法写了这篇教程! 我想各位在很多网站上都看到过类似的效果! 1.先用document.createElement方法创建一个input元素! 代码如 ...