HDU3555 Bomb[数位DP]

[HDU 3555] Bomb [数位DP] Source 2010 ACM-ICPC Multi-University Training Contest(12) http://acm.hdu.edu.cn/showproblem.php?pid=3555#include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #include<cstring> #def 阅读详情


题意:

给T组数据,每组数组给出一个n,问在[0,n],存在多少个数含有49(49是要连着的,至少含有一个就可以了)。


题解:

只要记录下三个状态,0号状态代表前面没有4,也没有49,1号状态代表前一位是4,那么只要当前位是9,就可以直接把状态转成2号状态,即当前的数已经存在49后面的数可以任意枚举。

那么状态转移的话,dp[i][j] 第一维表示当前位置,第二维表示三种状态,就上述的三种状态


#pragma comment(linker, "/STACK:102400000,102400000")
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<algorithm>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<vector>
using namespace std;
typedef long long ll;
const int N=30;
ll dp[N][3];
int num[N];
ll dfs(int pos,int sta,bool limit)//sta 0前面没有4   1前面有4  2前面有49
{
    if (pos==-1)
        return sta==2;//前面是否有49
    if (!limit && dp[pos][sta]!=-1)
        return dp[pos][sta];
    ll cnt=0;
    int mx=limit?num[pos]:9;
    for (int i=0 ; i<=mx ; ++i)
    {
        if ((sta==1 && i==9) || sta==2)
            cnt+=dfs(pos-1,2,limit && i==num[pos]);
        else
            cnt+=dfs(pos-1,i==4,limit && i==num[pos]);
    }
    if (!limit)
        dp[pos][sta]=cnt;
    return cnt;
}
ll divi(ll n)
{
    int pos=0;
    while (n)
    {
        num[pos++]=n%10;
        n/=10;
    }
    return dfs(pos-1,0,1);
}
int main()
{
    int T;
    scanf("%d",&T);
    memset(dp,-1,sizeof(dp));
    while (T--)
    {
        ll n;
        scanf("%lld",&n);
        printf("%lld\n",divi(n));
    }
    return 0;
}





「免费开源」从 OCR 识别到结构化输出:合同文本高效比对的完整解决方案! 本文将系统拆解这一解决方案的技术逻辑、实施步骤与落地价值,为企业合同管理数字化转型提供实操指南。字段提取:自动识别并提取预设的关键字段(如 “甲方”“乙方”“合同金额”“履约期限” 等),若遇到模糊表述(如 “付款时间为合同签订后 30 个工作日内”),系统可自动解析为 “履约期限:合同签订日 + 30 工作日”;预设结构化字段:根据合同类型(如采购合同、服务合同、租赁合同),定义需提取的关键字段(如 “甲方名称”“乙方名称”“合同金额”“有效期起 / 止日期”“履约地点”“违约金比例” 等); 阅读详情

相关推荐

实战避坑:在STM32上移植AUTOSAR BSW时,MCAL、ECU抽象层和服务层配置有哪些常见‘雷区’?

本文深入解析在STM32上移植AUTOSAR BSW时MCAL、ECU抽象层和服务层配置的常见陷阱,包括时钟树配置差异、GPIO电气特性问题、定时器资源冲突等实战经验。特别针对AUTOSAR架构在资源受限MCU上的特殊挑战,提供具体解决方案和优化策略,帮助开发者规避移植过程中的典型错误。

weixin_30258901的博客 561

HDU 3555 Bomb(数位DP)

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

水果君の日常 4654

【FLINK+Kerberos+kafka】在华为云上 bootstrap.server使用IP的GSS initiate failed 问题处理

目前互联网上所有的资料显示都是说没有正确设置KDC之类的,但本博主实际通过java代码低版本 如使用kafka-client 0.11.0 ,2.4.0等版本手动创建kafkaconfig 或者使用华为云的LoginUtils类 都能够正常链接,所以应该是高版本添加了相关配置,或者flink在subtask 创建kafkaAdminClient时 丢弃或使用了默认的一些配置行为,导致了客户端和kdc验证之间出现了principal 不一致导致验证失败。client.dns.lookup配置项作用。

honghanyue1791的博客 574

(数位dp)HDU3555 Bomb

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

Z7784562的博客 257

网络安全学习路线是怎样的?

为什么要学习安全? 近几年网络安全事件层出不穷,相信大家哪怕没遇到过,但也听过不少了吧。如服务器遭受入侵被黑,用户帐号被盗;被钓鱼、勒索病毒等,这些一旦发生,对企业而言都是不小的打击。因此,网络安全不容忽视,同时随着时代的不断发展,公司对于运维及网络工程师要求也越来越严格。未来越来越吃香的一定是技能方向广的复合型人才。网络安全可以说是一条非常好的发展道路。 今年两会期间,全国政协委员,360集团创始人、董事长周鸿祎提交了关于网络安全行业特殊人才的提案,为广大白帽子人员争取更好...

网安技术分享 8697

深入MIPI DSI显示技术栈 (三) DSI vs CSI-2:孪生协议的本质差异

MIPI协议中的DSI与CSI-2存在本质差异:DSI为输出导向协议(Host→Display),用于屏幕控制和画面传输;CSI-2为输入导向协议(Sensor→Host),专攻图像采集。二者在包结构、同步机制、物理层优化等方面均有显著区别:DSI支持命令包和BLLP包,CSI-2具备嵌入式数据包;DSI时钟模式以Burst为主,CSI-2支持Continuous模式。典型场景中,二者协同工作(如手机相机预览),需注意时序同步和延迟控制。设计混合系统时,需合理规划虚拟通道和物理层资源,充分发挥这对&quot

GateWorld的博客 2106

数位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

前端监控性能指标

文章目录前端监控性能指标性能指标阶段性指标关键性能指标小程序W3C Level 1兼容性常规用法注意事项1、计算HTML文档请求使用 Nav Timing2、计算静态资源使用 getEntriesByType('resource') 代替 getEntries()3、secureConnectionStart 问题4、跨域资源设置响应头 Timing-Allow-Origin5、注意属性值为 0 ...

foolbird 1348

【HDU】3555 Bomb 数位DP

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

poursoul 817

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

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

Jetson Nano之CSI摄像头操作方法

jetson端csi摄像头的应用方法

ZONGXP的博客 1万+

HDU-3555-Bomb【数位dp】

HDU-3555-Bomb【数位dp】

Linoy 1066

Fiori Elements 的 Adapting the UI: Analytical List Page 全解析与实战

摘要:本文详细介绍了如何通过SAP Fiori elements的UI Adaptation功能对Analytical List Page(ALP)进行细粒度适配。重点讲解了页头过滤区、图表区域、表格区域等关键组件的可配置属性,包括过滤区折叠/固定、图表类型限制、表格滚动阈值等实用功能。文章强调这些适配均可通过可视化工具完成,无需修改业务代码,并提供了典型场景的实践清单。适用于SAP Fiori elements for OData V2项目,建议配合SAP Fiori tools的Adaptation E

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

HDU3555 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): 18739    Accepted Submissi

A man can be destroyed, but not defeated. 543

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU 3555 Bomb(数位dp)

题目链接:HDU 3555 Bomb

fobdddf的专栏 581

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

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的博客 833

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

【数位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

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

HDU 3555 Bomb【数位DP】

BombBombBomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 26150 Accepted Submission(s): 9915 Problem Description The counter-terrori...

qq_43710979的博客 162

【HDU 3555】 Bomb 数位dp

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...

待到山花烂漫时 266

HDU-3555 Bomb (数位DP)

数位DP入门题 设dp[i][0]表示长度为i,不含49的数字个数;dp[i][1]表示长度为i,不含49且最高位为9的数字个数;dp[i][2]表示长度为i,含有49的数字个数 不是很明白为什么第二维状态要这样取...

idealism_xxm的专栏 1228

ThinkPHP+UniApp打造智能球馆预约系统

在数字化转型浪潮中,预约系统成为服务行业效率提升的关键技术。基于ThinkPHP框架的后端开发结合UniApp跨端方案,能够快速构建高并发、高可用的业务系统。通过ORM数据映射和JWT鉴权机制,实现场馆管理、智能排期等核心功能,特别适合篮球馆、羽毛球馆等运动场所的线上化转型。该系统采用Redis缓存应对节假日流量高峰,配合虚拟列表优化前端性能,实测使预约效率提升300%。目前该架构已成功应用于37家体育场馆,显著降低运营成本的同时,会员复购率实现翻倍增长。

weixin_34204722的博客 346
上一篇: HDU2089 不要62[数位DP]
下一篇: HDU3709 Balanced Number[数位DP]
ControlBear
博客等级 码龄11年 34粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值