HDU3555 Bomb —— 数位DP

企业级大数据平台的数据网格(Data Mesh)转型之路 随着企业数字化转型的深入,传统大数据平台面临数据孤岛化、治理成本高、业务响应慢等核心痛点。数据网格作为一种新兴的分布式数据管理架构,通过领域驱动设计(DDD)、数据产品化和联邦治理模式,为企业提供了打破数据壁垒、提升数据生产力的全新路径。本文聚焦企业级数据平台从传统架构(数据湖/数据仓库)向数据网格转型的关键技术、实施步骤和组织配套,涵盖技术架构设计、核心算法实现、项目实战案例及工具链推荐。背景介绍:定义转型目标、术语体系与核心挑战核心概念与联系:解析数据网格四大支柱及技术架构图谱核心算法原理。 阅读详情

题目链接: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);
    }
}


[Godot][入门] 安装与版本选择:3.x 还是 4.x?(按项目类型一键决策) 摘要: Godot引擎版本选择需根据项目需求权衡3.x与4.x。Godot4.x(如4.2)适合3D开发和新项目,支持Vulkan和GDScript2.0,但生态尚不成熟;Godot3.x(如3.5.3)则更适合稳定2D开发、Web导出及依赖现有插件/教程的场景。安装方式极简,官网下载解压即可运行。新手建议:短期高效选3.x,长期探索选4.x,旧项目勿盲目迁移。附版本对比表及决策树,助开发者快速匹配需求。 阅读详情

相关推荐

【SLAM论文笔记】SplaTAM论文小结

参考方法有ORB-SLAM3、Point-SLAM、NICE-SLAM、Kintinuous、ElasticFusion,测试数据集有ScanNet++、Replica、TUM-RGBD、Orig-ScanNet,SpaTAM并未在全部对比均为第一,表现最佳的是在ScanNet++、Replica,ScanNet++上SplaTAM方法位姿精度比第2名ORB-SLAM3高两个数量级,在TUM。上无稀疏SLAM结果,NICE-SLAM与Point-SLAM占优。SplaTAM基本做到了SOTA。

持之以恒 1011

HDU-3555 Bomb(数位dp)

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

m0_60921016的博客 352

S7-1200PLC期末复习题(第七章)

A.0 B.1 C.4 D.-4 A、CV = 0 B、CV = 1 C、CV < 4 D、CV >= 4A、0,0 B、3,0 C、1,1 D、3,1 A、0 B、1 C、先是1,再变为0 D、先是0,再变为1置位输出:常开触点M0.0闭合,Q0.0变为1状态并保存该状态,即使M0.0断开,Q0.0也保持1状态。 复位输出:常开触点M0.1闭合时,Q0.0变为0状态并保持该状态,即使M0.1断开,Q0.0也保持为0状态。 A、1 B、0 C、5 D、10RESET_BF指令需要两个参数,第一个是复位的位数

qq_52251819的博客 4421

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

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

浦柳人的博客 296

杰理蓝牙SPP用户接口详细文档

本文档详细介绍了基于JL701n芯片的蓝牙SPP用户接口实现。主要内容包括:1) 文件结构分析,包含必要的头文件和调试配置;2) 核心数据结构,如全局变量和TWS功能ID定义;3) 五大功能模块实现:数据发送、状态管理、数据接收、TWS支持和初始化清理;4) API接口说明,包括公共接口函数和回调函数;5) 使用教程,涵盖基本流程和高级应用示例。该接口支持虚拟串口连接,实现蓝牙设备间数据传输,特别针对TWS场景进行了优化,提供连接状态管理、数据收发等功能。文档还包含错误处理、重试机制等实用建议,适合蓝牙SP

qq_42014563的博客 1180

【YOLOv8系列】YOLOv8的webUI界面设计;通过Streamlit实现YOLOv8的可视化交互界面设计

但是我为了避免重复性的工作,且为了避免重复安装之前(安装pytorch和yolov8时)已经安装好的库,因此写了一个python脚本进行安装;需要提前在有网络连接的电脑上下载所有必要的依赖项,然后将这些文件传输到离线的机器上进行安装。脚本将自动跳过已安装的包,并安装其余的 .whl 文件。在离线的机器上,切换到包含下载好的文件的目录。证明我们的streamlit安装成功了。证明你的streamlit安装成功了。第一步:在有网络连接的电脑上下载。第二步:将下载的文件传输到离线机器。文件)传输到离线的机器上。

AnChenliang_1002的博客 1567

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

GD32F4xx MCU ADC+DMA 多通道采样

1、GD32F4xx ADC GD32F4xx 的12位ADC是一种采用逐次逼近方式的模拟数字转换器。 1.1 主要特征 可配置12位、10位、8位、6位分辨率; ADC采样率:12位分辨率为2.6MSPs,10位分辨率为3.0 MSPs。分辨率越低,转换越快; PS: MSPs (模拟混合信号转换速率),是指完成1次从模拟转换到数字的AD转换所需的时间的倒数。常用单位是ksps和Msps,表示每秒采样(千)/(百万)次(kilo / Million Samples per Second)。 1msps

madao1234的博客 8118

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

精密加工零件自动报价智能体设计与实现

摘要 本文设计并实现了一个精密加工零件自动报价智能体系统。该系统通过计算机视觉和几何分析技术,自动读取3D图纸(STEP/STL格式),提取影响加工成本的几何特征,实现精准报价。系统采用模块化设计,包含3D模型解析、特征提取、成本计算和报价生成四个核心模块。关键技术包括:使用PythonOCC处理STEP文件,Trimesh处理STL网格;实现体积、表面积、包围盒等基础几何量计算;开发特征提取算法识别复杂曲面、深孔等加工难点;基于规则库进行可加工性评分和成本估算。相比传统人工报价方式,该系统能显著提高报价效

AI的内部世界的博客 112

嵌入式工程师必学(52):储能系统ESS

能量存储系统(ESS,Energystoragesystems)存在于各种各样的尺寸、形状和技术中。储能系统的技术,即基本的储能机制,自然会影响其重要特性,包括成本、安全性、性能、可靠性和寿命。然而,尽管基础技术很重要,但一个成功的储能项目依赖于对该技术的彻底和深思熟虑的实施,以实现项目的目标。成功的实施取决于储能系统的架构和组装情况。系统的体系结构可以决定其性能和可靠性,与它所使用的技术一致,甚至与之无关。

码农17年的博客 1443

HDU 3555 Bomb(数位DP)

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

水果君の日常 4654

我用C#实现上位机数据一键导出Excel:从乱码到百万行数据秒级导出的实战技巧

ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("日报表");// 1. 标题(合并单元格)worksheet.Cells["A1"].Value = $"产线日报表 -DateTimeNowToString// 2. 表头和数据(同上)worksheet.Cells["A3"].Value = "时间";// ...省略表头和数据填充// 3. 合计行(公式计算)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 712

(数位dp)HDU3555 Bomb

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

Z7784562的博客 257

android 蓝牙通讯demo

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【HDU】3555 Bomb 数位DP

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

poursoul 817

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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、付费专栏及课程。

余额充值