模板题

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll num;
int a[20],len;
ll dp[2][20],ten[20];
ll dfs(int pos,bool pre,bool lim)
{int Max=lim?a[pos]:9;if(pos==1)return Max==9&&pre;if(!lim&&dp[pre][pos]!=-1)return dp[pre][pos];ll ret=0;for(int i=0;i<=Max;++i){//printf("%d:%d ",pos,i);if(i==9&&pre)ret+=lim?(num%ten[pos-1]+1):ten[pos-1];else ret+=dfs(pos-1,i==4,lim&&i==Max);//printf("%d\n",ret);}if(!lim)dp[pre][pos]=ret;return ret;
}
ll solve(ll x)
{len=0;while(x){a[++len]=x%10;x/=10;}return dfs(len,0,1);//todo
}
int main()
{//freopen("Input.txt","r",stdin);ten[0]=1;for(int i=1;i<=19;++i)ten[i]=ten[i-1]*10;memset(dp,-1,sizeof dp);int t;scanf("%d",&t);while(t--){scanf("%I64d",&num);printf("%I64d\n",solve(num));}
}

转载于:https://www.cnblogs.com/maoruimas/p/9714590.html

HDU 3555 Bomb相关推荐

  1. HDU 3555 Bomb (数位DP)

    数位dp,主要用来解决统计满足某类特殊关系或有某些特点的区间内的数的个数,它是按位来进行计数统计的,可以保存子状态,速度较快.数位dp做多了后,套路基本上都差不多,关键把要保存的状态给抽象出来,保存下 ...

  2. HDU 3555: Bomb

    ///@link http://acm.hdu.edu.cn/showproblem.php?pid=3555///@author Sycamore///@date Sep, 14///@ref ku ...

  3. HDU 3555 Bomb(数位DP模板啊两种形式)

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

  4. HDU 3555 Bomb (数位DP-记忆化搜索模板)

    题意 求区间[1,n]内含有相邻49的数. 思路 比较简单的按位DP思路.这是第一次学习记忆化搜索式的数位DP,确实比递推形式的更好理解呐,而且也更通用~可以一般化: [数位DP模板总结] int d ...

  5. HDU 3555 - Bomb

    第一道数位dp,属于基础模板,又自卑小时没学好数数了,只是不清楚为什么大家的dp定义都是相同的,很显然么,难道我写的是怪胎... /* ID:esxgx1 LANG:C++ PROG:hdu3555 ...

  6. HDU - 3555 Bomb(数位dp)

    题目链接:点击查看 题目大意:给定一个整数n,求从1到n的闭区间内含有相邻"49"的数字的个数. 题目分析:裸的数位dp,这里说一下两种做法,第一种是正着求,也就是求含有49的数字 ...

  7. [HDU 3555] Bomb

    dp[dep][four]表示长度为dep的上一个是否为4的不含子串49的数的个数 1 #include<bits/stdc++.h> 2 using namespace std; 3 t ...

  8. Bomb HDU - 3555【数位dp】

    Bomb HDU - 3555 The counter-terrorists found a time bomb in the dust. But this time the terrorists i ...

  9. Bomb(hdu 3555)

    题意:给定一个闭区间,求区间内有多少数中含"49" /*dp[i][j]表示i位数以j为最高位位中的所有不符合数的个数.然后把数字拆分,乱搞即可. */ #include<c ...

最新文章

  1. (转载)IT未来发展五大趋势
  2. Bitmasking for introspection of Objective-C object pointers i
  3. no module named 'social_core'
  4. cmos存储器中存放了_CMOS存储器中存放了计算机的一些参数和信息,其中不包含在内的是( )。_学小易找答案...
  5. 算法题目——被围绕的区域(dfs,bfs)
  6. Oracle 练习题P256
  7. android相关论文,android
  8. 关于设置table样式后,不停点击按钮table中的数据会逐渐被最后一行替换的问题...
  9. python七种数据类型
  10. 汤国安:GIS教育可能要崩盘
  11. python打印九九乘法表代码
  12. css实现文字左右滚动效果
  13. 手机访问电脑虚拟服务器,User Agent Switcher插件使用教程【电脑模拟手机访问网站】...
  14. IDL 解析葵花8Himawari-8标准数据(HSD),辐射定标、重投影、裁剪
  15. Android Wi-Fi 2.4G及5G信道一览表
  16. ESP8266/ESP32 驱动ST7789屏幕
  17. AppStore上线规则
  18. 【跳坑日记】Ubuntu 16.04安装 Ruby2.7.0遇到的坑:cannot load such file -- openssl (LoadError)
  19. altium 旋转线段_几何画板旋转动画教程,这软件真牛!
  20. 银行信用卡办卡申请进度查询API接口地址

热门文章

  1. ARM指令集、Thumb指令集、Thumb-2指令集
  2. 为何人工智能(AI)首选Python?如何转行Python人工智能?
  3. 超四分之一的人工可能被机器取代,AI或成英国脱欧的一大阻碍
  4. eclipse没有日志_IPFS技术最新进展:抵抗eclipse攻击的能力
  5. java---24点游戏 :从扑克中每次取出4张牌,使用加减乘除,第一个能得出24者为赢。
  6. Android 使用 ActivityResult 处理 Activity 之间的数据通信及调起拍照实例
  7. cad pu插件下载lisp_【技巧】cad计算面积、周长方法汇总
  8. 007_Maven依赖管理
  9. 至暗时刻鸿蒙初开,鸿蒙2.0面世,华为在“至暗时刻”迎来曙光
  10. 内存分析工具MAT的使用