当前位置: 首页 > news >正文

Removing Digits(Dynamic Programming)

题目描述

You are given an integer n. On each step, you may subtract one of the digits from the number.
How many steps are required to make the number equal to 0?

输入

The only input line has an integer n.
Constraints
1 ≤ n ≤ 10^6

输出

Print one integer: the minimum number of steps.

样例输入
27
样例输出
5
提示

An optimal solution is 27 → 20 → 18 → 10 → 9 → 0.

思路分析

0→0,dp[0]=0;

1→0,dp[1]=1;

2→0,dp[2]=1;

3→0,dp[3]=1;

……

9→0,dp[9]=1;

10→9→0,dp[10]=dp[9]+1=2;

11→10→9→0,dp[11]=dp[10]+1=3;

12→10→9→0,dp[12]=dp[10]+1=3;

或12→11→10→9→0,dp[12]=dp[11]+1=4;(舍)

13→10→9→0,dp[13]=dp[10]+1=3;

或13→12→10→9→0,dp[13]=dp[12]+1=4;(舍)

……

1.初始化dp数组,大小为n+1,dp[0]=0,1~n初始化为1,000,000,000。

2.循环处理,i从1到n,i的每一位数字d,更新dp[i]=min(dp[i],dp[i-d]+1)。

代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N=1e9;
ll n;
int main(){cin>>n;vector<ll>dp(n+1,N);dp[0]=0;for(ll i=1;i<=n;i++){ll temp=i;while(temp){int d=temp%10;dp[i]=min(dp[i],dp[i-d]+1);temp/=10;}}cout<<dp[n];return 0;
}
http://www.xdnf.cn/news/1233127.html

相关文章:

  • 入门MicroPython+ESP32:安装逗脑IDE及驱动
  • JJWT 核心工具类 Jwts 源码解析
  • 高效离线转换方案:支持多任务并行处理
  • 通俗易懂解释Java8 HashMap
  • 使用 BERT 的 NSP 实现语义感知切片 —— 提升 RAG 系统的检索质量
  • 一种基于入侵杂草优化算法(IWO)的聚类算法,并与K-Means、高斯混合模型(GMM)进行对比,Matlab
  • 内存、硬盘与缓存的技术原理及特性解析
  • 系统性学习数据结构-第一讲-算法复杂度
  • 疯狂星期四文案网第27天运营日记
  • sc-atac的基础知识(0)
  • 兴达餐饮 酒店 进销存管理系统软件
  • SPI通信中CS片选的两种实现方案:硬件片选与软件片选
  • 跨语言AI服务指标收集实战
  • Java试题-选择题(6)
  • SmartCLIP:具有识别保证的模块化视觉-语言对齐
  • 烽火HG680-KD_海思MV320处理器-安卓9-原厂系统升级包-针对解决烧录不进系统的问题
  • i Battery Box V3.7 客户端电池检测仪
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第8章 备份与恢复
  • MC0364魔法链路
  • 零基础 “入坑” Java--- 十六、字符串String 异常
  • [硬件电路-121]:模拟电路 - 信号处理电路 - 模拟电路中常见的难题
  • ubuntu22.04离线一键安装gpu版docker
  • [Linux入门] Ubuntu 系统中 iptables 的配置与使用
  • 【Django】-4- 数据库存储和管理
  • 【Python修仙编程】(二) Python3灵源初探(11)
  • RAWINPUT避坑指南(涉及GetRawInputData/GetRawInputBuffer)
  • 【智能体cooragent】创建 workflow 时 候选 Agent 和 Tool 获取来源详细分析
  • 深入 Go 底层原理(六):垃圾回收(GC)
  • Kafka——关于Kafka动态配置
  • 洛谷 P3870 [TJOI2009] 开关-普及+/提高