hud 2089 不要62 (数位dp)
#include<stdio.h>
#include<string.h>
#include<math.h>
#define max 10
int dp[max][];
int number[max];
//dp[i][0] 前i位数中不符合要求的总个数
//dp[i][1] 前i位数中最高位是2的个数
//dp[i][2] 前i位数中存在含4和有连续62的个数
void init()
{
memset(dp,,sizeof(dp));
dp[][]=;
for(int i=;i<max;i++)
{
dp[i][]=dp[i-][]*-dp[i-][]; //除了4 并不含6+2..的
dp[i][]=dp[i-][]; //2+,
dp[i][]=dp[i-][]*+dp[i-][]+dp[i-][];
}
}
int len_num(int num)
{
int i=;
memset(number,,sizeof(number));
while(num)
{
++i;
number[i]=num%;
num/=;
}
return i;
}
int solve(int num)
{
int i,flag=,count=;
int len=len_num(num);
number[len+]=;
for(i=len;i>;i--)
{
count+=dp[i-][]*number[i];
if(flag)
{
count+=dp[i-][]*number[i];
}
else
{
if(number[i]>) count+=dp[i-][];
if(number[i]>) count+=dp[i-][];
if(number[i]>&&number[i+]==) count+=dp[i][];//等于62是这个本身不用算在里面 只有大于2才会完全计算
if((number[i]==&&number[i+]==)||number[i]==)
flag=;
}
}
return num-count;
}
int main(void)
{
init();
int n,m,i,j;
while(scanf("%d%d",&n,&m)&&n&&m)
{
printf("%d\n",solve(m+1)-solve(n));
}
return ;
}
hud 2089 不要62 (数位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 ...
- HDOJ题目2089 不要62(数位DP)
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 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). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来 ...
随机推荐
- FAQ:Python环境变量配置
Python安装安装成,需要配置环境变量: 默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 首先需要在系统中注册 ...
- SQL Server 一些重要视图4
sys.master_files 为每一个数据库的每一个文件返回行.
- Apache commons (Java常用工具包)简介
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html Be ...
- qt 5.1.1 on CentOS 6.4
Overview If you are trying to install Qt and Qwt [qwt.sourceforge.net] (Qt Widgets for Technical App ...
- 数据库CRUD操作
CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...
- display的table和cell外加table-layout:fixed等分布局,外加换行,word-wrap:break-word
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [Android]The connection to adb is down, and a severe error has occured.
在Android开发时,有时我们开启虚拟机执行程序时.会报类似下面错误: [2015-07-19 15:08:29 - TestXiaoYanLibrary] The connection to ad ...
- 侯老师的话(Application Framework)
摘自http://blog.csdn.net/zlc19876/article/details/5355022 本篇文章主要介绍了"侯老师的话(Application Framework)& ...
- gridview合并相同的行
#region 方法:合并Gridview行 /// <summary> /// 合并GridView指定行单元格 /// </summary> /// ...
- iOS网络请求之---GET和POST
get是从服务器上获取数据,post是向服务器传送数据.前者把参数数据加在了将参数直接写在访问路径上.操作简单,不过容易被外界看到,安全性不高,地址最多255字节,后者则是将参数放到body里面.PO ...