HDU3555 Bomb —— 数位DP

如何理解鲁棒性?为什么robustness会翻译为鲁棒性? 鲁棒性,英文为Robustness(承受故障和干扰的能力),是许多复杂系统(包括复杂网络)的关键属性。复杂网络的鲁棒性研究对许多领域都非常重要。本文着重介绍了鲁棒性的基本定义、命名起源、分类区别、提升方法和具体应用,供大家学习参考。 阅读详情

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555


Bomb

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)
Total Submission(s): 18739    Accepted Submission(s): 6929


Problem Description
The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence of the time bomb counts from 1 to N. If the current number sequence includes the sub-sequence "49", the power of the blast would add one point.
Now the counter-terrorist knows the number N. They want to know the final points of the power. Can you help them?
 

Input
The first line of input consists of an integer T (1 <= T <= 10000), indicating the number of test cases. For each test case, there will be an integer N (1 <= N <= 2^63-1) as the description.

The input terminates by end of file marker.
 

Output
For each test case, output an integer indicating the final points of the power.
 

Sample Input
  
3 1 50 500
 

Sample Output
  
0 1 15
Hint
From 1 to 500, the numbers that include the sub-sequence "49" are "49","149","249","349","449","490","491","492","493","494","495","496","497","498","499", so the answer is 15.



题解:

数位DP通用:dp[pos][sta1][sta2][……]

表示:当前位为pos,之前的状态为sta1*sta2*……stan。n为限制条件的个数。

回到此题,限制条件有两个: 1.上一位是否为4; 2.之前是否已经出现49。

类似题目:http://blog.youkuaiyun.com/dolfamingo/article/details/72848001



代码如下:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <string>
#include <set>
#define ms(a,b) memset((a),(b),sizeof((a)))
//#define LOCAL
using namespace std;
typedef long long LL;
const int INF = 2e9;
const LL LNF = 9e18;
const int mod = 1e9+7;
const int maxn = 100+10;

LL n;
LL a[maxn], dp[maxn][2][2];

LL dfs(int pos, bool is4, bool lim, bool hav)
{
    if(!pos) return hav;
    if(!lim && dp[pos][is4][hav]!=-1) return dp[pos][is4][hav];

    LL ret = 0;
    int m = lim?a[pos]:9;
    for(int i = 0; i<=m; i++)
    {
        bool B = is4&&(i==9);
        ret += dfs(pos-1, i==4, lim&&(i==m), B||hav);
    }

    if(!lim) dp[pos][is4][hav] = ret;
    return ret;
}

int main()
{
#ifdef LOCAL
    freopen("123", "r", stdin);
//      freopen("output.txt", "w", stdout);
#endif

    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lld",&n);
        int p = 0;
        while(n)
        {
            a[++p] = n%10;
            n /= 10;
        }
        ms(dp,-1);
        LL ans = dfs(p, 0, 1, 0);
        printf("%lld\n",ans);
    }
}


uniapp - web-view嵌套H5网页白屏问题,<web-view>页面跳转出现白屏情况,强力解决uniapp嵌套webview页面时出现无法加载并白屏(无论本地还是线上H5网页链接都能解决) uniapp微信小程序,uniapp APP端,uni-app web-view嵌套H5项目白屏问题分析及解决,uniapp嵌套webview页面时,出现白屏,uniapp <web-view>页面跳转出现白屏解决方法,uniapp <web-view>页面跳转出现白屏解决方法,解决uniapp的web-view打开网页在老手机上出现白屏的问题,uni-app web-view白屏处理,引入本地网页白屏,WebView 加载不出网页,一片空白webview白屏加载不出来,使用webview加载链接后白屏,u 阅读详情

相关推荐

GAN实战:用Python和TensorFlow打造你的第一个生成对抗网络(附完整代码)

本文是一份详细的GAN实战指南,指导读者使用Python和TensorFlow框架从零开始构建并训练一个生成对抗网络。文章涵盖了环境搭建、MNIST数据预处理、生成器与判别器模型构建、对抗性损失函数定义、训练循环编写以及关键的调试技巧,旨在帮助开发者通过动手实践深入理解GAN的核心原理与实现过程。

php55的博客 480

HDU-3555 Bomb(数位dp)

【代码】HDU-3555 Bomb(数位dp)

m0_60921016的博客 352

一步一步教你写股票走势图——K线图一(概述)

股票分时图部分已经开发完毕,受到了广大开发者的好评!界面、功能都挺完美,解决了好一些MP开发者的问题,博主甚是欣悦,更有动力去开源K线图。这里说一下,如果有问题直接留言或者发邮件,github上个人信息有邮件,我看到基本都会回复,博主不加qq的,体谅O(∩_∩)O。分析好了,废话不多说,我们分析下K线图吧,首先我们看下自选股K线图的效果吧效果还是很赞的,经过分时图的研究后,博主越来越确信自选股用的应

体验Android编程之美 3万+

hdu3555——Bomb[数位dp打表法]

问题虫洞:Bomb 黑洞内窥: 给出一个数n,求1~n内不含49的数有多少个 1<= n <= 2^63-1; 思维光年: 由于数据非常的大,暴力会T!~~~ 所以我去学了一种新算法——数位dp, 数位dp: •“数位DP”:对数字的“位”进行的与计数有关的DP。 •一个数有个位、十位、百位、千位......数的每一位就是数位。 •数位DP用来解决与数字...

浦柳人的博客 296

NI USB-8506 LIN通讯配置全攻略:从驱动安装到NI MAX硬件检测

本文详细介绍了NI USB-8506设备的LIN通讯配置全流程,从驱动安装到NI MAX硬件检测。重点讲解了NI-CAN和NI-XNET驱动的安装避坑技巧,以及LIN通讯参数配置的实战经验,帮助用户快速掌握车载LIN总线通讯技术,提升工作效率。

weixin_29171087的博客 600

Aurora8b10b光口通信实战:复位时序与IP核配置详解

本文深入解析了Aurora 8B10B协议在FPGA高速光口通信中的核心实践,重点剖析了确保链路稳定启动的关键复位时序与IP核配置细节。通过详解全双工与单工模式下的复位流程、Vivado中IP核的物理层与链路层参数设置,并结合用户逻辑设计实例,为工程师实现可靠的高速数据传输提供了清晰的实战指南。

weixin_29280219的博客 178

hdu3555 Bomb

Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 1604    Accepted Submission(s): 592 Problem Description The counter-terrorist

喵呜的Blog 3121

Win10网络图标消失,网络图标变成灰色,打开网络设置闪退等问题解决

介绍 主要解决如下问题 网络图标消失 常用方法配置中出现的网络图标变成灰色没有办法打开 打开网络和Internet闪退 错误提示`网络发现已关闭。网络计算机和设备不可见。请启动网络和共享中心的网络发现。 连不上网,诊断结果为 依赖服务或组无法启动 这个问题大概率通过重装系统不能解决,请大家谨慎测试之后最后选择重装这个路线。 方法1:这一步一定要做(卸载三方软件) 把360安全卫士,软件管家这些东西都卸载掉。 我的问题一开始就是这个软件引起的,可能他检测到我还给台式机配了无线网卡,然后就把有线网络的一些

呆呆象呆呆的博客 3万+

hdu3555 数位dp

http://acm.hdu.edu.cn/showproblem.php?pid=3555 Problem Description The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number seque

ACM,再见! 1294

Moltbot 超详细安装使用教程(初学者版)

你在外面逛街,用微信/Telegram 发消息说"帮我查一下明天的天气"它立刻帮你查好并回复你说"帮我在电脑上新建一个文件夹叫'工作文档'"它真的帮你在电脑上创建了这就是 Moltbot ——一个能真正帮你干活的 AI 助手。API Key 就像是一把"钥匙",让 Moltbot 能够使用 AI 服务。

weixin_51040479的博客 2017

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

weixin_40735291的博客 6619

HDU 3555 Bomb(数位DP)

HDU 3555 Bomb(数位DP) ACM 题目地址:HDU 3555 题意:  问(0, n]里面有几个数有'49'这个子串。 分析:  裸数位DP。  直接用DFS做。  就是输入输出比较坑,杭电貌似都要用__int64。 代码: /* * Author: illuz * File: 3555.cpp * Cr

水果君の日常 4654

Central Finance 全景解析:用 SAP S/4HANA 构建跨系统的财务中台与渐进式转型路径

Central Finance 是基于 SAP S/4HANA 的一种部署与应用场景:在不打断现有异构源系统运营的前提下,把多套 SAP 与非 SAP 系统中的财务与管理会计数据实时/准实时复制到一套中心化的 SAP S/4HANA 中,作为统一的记账与分析底座,逐步把选定的财务流程(如预算控制、付款、固定资产结账等)迁入中心系统。这让企业既能快速获得统一报表与统一核算结构,又为未来的整体迁移留出了弹性路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 393

(数位dp)HDU3555 Bomb

HDU3555 Bomb 题意&思路: 给个n,计算1~n中子串含有“49”的数。 对于这种求一个区间内含有某种特征的数,一般用数位dp。数位dp就是数字的位上dp,例如这题给的范围是到263-1约等于1019,如果枚举遍历判断的话,肯定会T。如果是数位的话,就只要枚举19位的情况。 听起来是不是感觉很简单 实在是太难了,看了好多大佬的题解和分析才懂了一点点。 数位dp借助于dfs和记忆...

Z7784562的博客 257

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数位DP入门之hdu 3555 Bomb

数位DP入门之hdu 3555 Bomb 题意: 在1~N(1<=N<=2^63-1)范围内找出含有’49’的数的个数; 与hdu 2089 不要62的区别:2089是找不不含’4’和’62’的区间范围内的数,此题是含有;正好相反,对于 “不要62”只是用第二位表示首位数字,这一题呢? 看转化:易知一定要要知道首位是9的个数,才能在前面加4得到’49’,但是什么状态能从不含’49’转移到含’49

hxer 619

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【HDU】3555 Bomb 数位DP

传送门:【HDU】3555 Bomb 题目分析:shu

poursoul 817

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU-3555-Bomb【数位dp】

HDU-3555-Bomb【数位dp】

Linoy 1067

HDU3555 Bomb【数位DP+记忆化搜索】

Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 23077    Accepted Submission(s): 8683   Problem Description The counter-terrorists fou...

海岛Blog 707

HDU 3555 Bomb(数位dp)

题目链接:HDU 3555 Bomb

fobdddf的专栏 581

HDU3555 Bomb[数位DP]

B - Bomb  HDU - 3555  题解: 只要记录下三个状态,0号状态代表前面没有4,也没有49,1号状态代表前一位是4,那么只要当前位是9,就可以直接把状态转成2号状态,即当前的数已经存在49后面的数可以任意枚举。 #pragma comment(linker, "/STACK:102400000,1024

ControlBear的博客 424

HDU 3555 Bomb (数位DP)

原题地址:传送门    (http://acm.hdu.edu.cn/showproblem.php?pid=3555) Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 13836    Accepted S

Lulu11235813的博客 834

HDU3555 Bomb【数位DP】

题目链接:HDU3555 Bomb 题意:问1~n中含有49的个数; 分析:首先用init()找到n位数有多少含有49的数; dp[i[[j]用于存储符合条件的数的个数 i代表目前处理的数长度为i;这里dp[i][j]处理的数可包含前导零; dp[i][0]代表长度为i的数中不含49数的数量; dp[i][1]代表长度为i的数中不含49但是最高位为9的数的数量; dp[i][2]代表长...

MaJorieL 159

【数位DP】Bomb HDU3555

Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 3206    Accepted Submission(s): 1141 Problem Description The counter-terrorists f

Jiangzh_MZOI 689

HDU 3555 Bomb(数位DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555BombTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 16312 Accepted Submission(s): 5961Pr

linlinsong—ACM界蒟水! 330

hdu3555 Bomb 【数位dp+记忆化dfs】

题目链接:hdu3555 Bomb题意: t组样例,给正整数n(n<=263−1)(n<=2^{63}-1),输出[1, n]中包含”49”的数的个数。数位dp第一发; dp预处理出[0,10],[0,100]...[0,1020][0,10],[0,100]...[0,10^{20}] 的答案,根据n每位的值按情况累加即可; 注意n包括49的情况, 例如n=234950这种情况, 49之后不

lh的博客 584
上一篇: POJ2115 C Looooops ——模线性方程(扩展gcd)
下一篇: POJ2653 Pick-up sticks —— 两线段相交(模板题)
DOLFAMINGO
博客等级 码龄10年 8粉丝 216原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值