6061:http://www.tzcoder.cn/acmhome/problemdetail.do?method=showdetail&id=6061

dfs记忆化搜索

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll digit[20];
ll dp[20][2];
ll dfs(int len,bool if4,bool limit)//当前数是否是4 是否达到上界
{
if(len==0)return 1;//搜索到最低位 最低位一定满足条件 返回1
if(!limit&&dp[len][if4])return dp[len][if4];//未到达上界 并且这个状态已经有答案
ll cnt=0,up_bound=(limit?digit[len]:9); //是不是上界//n=512-> up=5
for(ll i=0;i<=up_bound;i++){
if(if4&&i==9)continue;//剪掉49这一支
cnt+=dfs(len-1,i==4,limit&&i==up_bound); //加上剩余满足条件的
}
if(!limit)dp[len][if4]=cnt; //不是上界;记录答案; 是上界的话答案就不能利用之前的了 要另外算
return cnt;
}
ll solve (ll num)
{
ll k=0;//记录几个数位
while(num){
digit[++k]=num%10;
num/=10;
} return dfs(k,false,true);
}
int main()
{
ll t;
ll n;
cin>>t;
while(t--){
cin>>n;
cout<<n-solve(n)+1<<endl;//总的减去 不包含49的(其中包括了0 所以多减了一个,要加回去)
}
return 0;
}

1427:http://www.tzcoder.cn/acmhome/problemdetail.do?method=showdetail&id=1427

和上一题一样;就是49改成62;再加一个4的条件即可

#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll digit[20];
ll dp[20][2];
ll dfs(int len,bool if6,bool limit)
{
if(len==0)return 1;
if(!limit&&dp[len][if6])return dp[len][if6];
ll cnt=0,up_bound=(limit?digit[len]:9);
for(ll i=0;i<=up_bound;i++){
if(if6&&i==2)continue;
if(i==4)continue;
cnt+=dfs(len-1,i==6,limit&&i==up_bound);
}
if(!limit)dp[len][if6]=cnt;
return cnt;
}
ll solve (ll num)
{
ll k=0;//记录几个数位
while(num){
digit[++k]=num%10;
num/=10;
} return dfs(k,false,true);
}
int main()
{
ll n,m;
while(scanf("%I64d%I64d",&n,&m),n!=0||m!=0){
printf("%I64d\n",solve(m)-solve(n-1));
}
return 0;
}

数位dp( tzoj6061:Bomb-求49个数;tzoj1427: 不要62)的更多相关文章

  1. [暑假集训--数位dp]hdu3555 Bomb

    The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the ti ...

  2. (数位dp)Bomb (hdu 3555)

    http://acm.hdu.edu.cn/showproblem.php?pid=3555     Problem Description The counter-terrorists found ...

  3. 递推、数位DP解析(以HDU 2089 和 HDU 3555 为例)

    HDU 2089 不要62 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2089 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人 ...

  4. 数位dp浅谈(hdu3555)

    数位dp简介: 数位dp常用于求区间内某些特殊(常关于数字各个数位上的值)数字(比如要求数字含62,49): 常用解法: 数位dp常用记忆化搜索或递推来实现: 由于记忆化搜索比较好写再加上博主比较蒟, ...

  5. bzoj3209 花神的数论题——数位dp

    题目大意: 花神的题目是这样的 设 sum(i) 表示 i 的二进制表示中 1 的个数.给出一个正整数 N ,花神要问你 派(Sum(i)),也就是 sum(1)—sum(N) 的乘积. 要对1000 ...

  6. beautiful number 数位DP codeforces 55D

    题目链接: http://codeforces.com/problemset/problem/55/D 数位DP 题目描述: 一个数能被它每位上的数字整除(0除外),那么它就是beautiful nu ...

  7. LightOJ 1140: How Many Zeroes? (数位DP)

    当前数位DP还不理解的点: 1:出口用i==0的方式 2:如何省略状态d(就是枚举下一个数的那个状态.当然枚举还是要的,怎么把空间省了) 总结: 1:此类DP,考虑转移的时候,应当同时考虑查询时候的情 ...

  8. CodeForces 55D Beautiful numbers(数位dp+数学)

    题目链接:http://codeforces.com/problemset/problem/55/D 题意:一个美丽数就是可以被它的每一位的数字整除的数. 给定一个区间,求美丽数的个数. 显然这是一道 ...

  9. hdu 5106 Bits Problem(数位dp)

    题目链接:hdu 5106 Bits Problem 题目大意:给定n和r,要求算出[0,r)之间全部n-onebit数的和. 解题思路:数位dp,一个ct表示个数,dp表示和,然后就剩下普通的数位d ...

  10. hdu4352 XHXJ's LIS(数位DP + LIS + 状态压缩)

    #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully reading the entire ...

随机推荐

  1. 12月23日内容总结——csrf跨站请求伪造、校验策略、相关装饰器,auth认证模块及相关操作,拓展auth_user表

    目录 一.csrf跨站请求伪造 概念引入 概念讲解 二.csrf校验策略 概念讲解 form表单操作csrf策略 ajax请求csrf策略 三.csrf相关装饰器 四.auth认证模块 五.auth认 ...

  2. python加密解密之AES

    def encrypt(self, params: str, key: str, iv: str) -> str: """加密""" ...

  3. php 虚拟目录

    问题: 站点的root目录为 /data/web/ ,现在想在www.111.com 下放一个站点,www.111.com/abc/ 但不能直接在/data/web/下创建abc目录,要放在 /dat ...

  4. MySQL 中的事务理解

    MySQL 中的事务 前言 原子性 一致性 持久性 并发事务存在的问题 脏读 幻读 不可重复读 隔离性 事务的隔离级别 事务隔离是如何实现 可重复读 和 读提交 串行化 读未提交 可重复读解决了幻读吗 ...

  5. 打开MASA Blazor的正确姿势2:组件总览

    官网文档按拼音罗列组件,且部分嵌套组件没有在导航栏内列出,不利于浏览查阅.本篇文章的主要目的,主要是对所有组件按大家习惯的方式进行分类,简要介绍组件,并建立跳转官方文档的链接.   一.导航布局类 1 ...

  6. cannot load "mso.dll" vs2008 web开发问题

    已成功解决办法: ①将VS 2008安装包WCUWebDesignerCoreWebDesignerCore.exe提取并重新安装: ②将C:Program Files/Common Files/Mi ...

  7. 2021级《JAVA语言程序设计》上机考试试题5

    这是系统员功能实现,因为使用到了教师,所以教师的Bean与Dao,以及更新的Servlet与service Teacher package Bean; public class Teacher {pr ...

  8. Technique to Read Source Code

    Technique to Read Source Code Excerpted from http://ruby-hacking-guide.github.io/intro.htm Any progr ...

  9. Trie 的一类应用

    \(\text{Trie}\) 先从 [十二省联考 \(2019\)] 异或粽子 谈起 不难想到堆加可持久化 \(Trie\) 的做法 这就和 \(\text{[NOI2010]}\) 超级钢琴 类似 ...

  10. [EULAR文摘] 超声对已获临床低活动度RA患者病情复发的预测

    标签:eular文摘; 超声评估; 病情预测 超声对已获临床低活动度RA患者病情复发的预测 Lamers-Karnebeek FBG, et al. EULAR 2015.Present ID: OP ...