hdu 3183 A Magic Lamp

轻量级替代方案:用AIFlowy + Ollama在本地快速搭建一个可用的AI智能体平台 本文介绍了如何使用AIFlowy和Ollama在本地快速搭建轻量级AI智能体平台,涵盖从环境准备到智能体集成的全流程。通过简化部署步骤和优化性能,15分钟内即可完成搭建,适用于原型验证和小团队协作,显著提升开发效率。 阅读详情

hdu 3183 A Magic Lamp

A Magic Lamp

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3070 Accepted Submission(s): 1204

Problem Description
Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so kind. Kiki must answer a question, and then the genie will realize one of her dreams.
The question is: give you an integer, you are allowed to delete exactly m digits. The left digits will form a new integer. You should make it minimum.
You are not allowed to change the order of the digits. Now can you help Kiki to realize her dream?

Input
There are several test cases.
Each test case will contain an integer you are given (which may at most contains 1000 digits.) and the integer m (if the integer contains n digits, m will not bigger then n). The given integer will not contain leading zero.

Output
For each case, output the minimum result you can get in one line.
If the result contains leading zero, ignore it.

Sample Input
178543 4
1000001 1
100001 2
12345 2
54321 2

Sample Output
13
1
0
123
321

题目大意:给你一串数字,让你删除其中m个数字后组成的数字最小,不能改变位置;

思路:设置数字的长度等于l,就是找l-m个数字组成的数字最小;
我们找l-m个数字,肯定是从头开始找,并且找最小的那个。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    int n;
    while(cin>>s>>n)
    {
        int l=s.size();
        int j=0;
        string ans;
        for(int i=1;i<=(l-n);i++)//取l-n个数 
        {
            int p=j; //重新设置位置;
            char minn=s[j];//重新设置最小的数;
            for( ;j<(n+i);j++)//从第j个开始取最小的数 
            {
                if(minn>s[j])
                {
                    minn=s[j];                  
                    p=j;
                }   
            }
            j=p+1;//重新设置下一个位置;
            if(minn=='0'&&ans=="");
            else
                ans+=minn;//把找到的最小的数给ans; 
        }
        if(ans=="")
            cout<<"0\n";
        else
            cout<<ans<<endl;
    }
    return 0;
}

代码提交地址:http://acm.hdu.edu.cn/showproblem.php?pid=3183

基于FPGA的 SelectIO IP核 的仿真验证-----( LVDS差分高速传输) SelectIO IP核 的仿真验证 阅读详情

相关推荐

ECU-TEST新手入门:从软件申请到第一个测试包创建的完整保姆级流程

本文详细介绍了ECU-TEST软件从申请试用、安装配置到创建第一个测试包的完整流程。针对新手用户,提供分步指导,包括界面认知、测试组件添加、变量定义及执行结果分析,帮助快速掌握汽车电子测试工具的基本操作。特别说明试用授权的两种获取方式和安装注意事项。

weixin_30606461的博客 481

HDU 4669 Mutiples on a circle 数位DP

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4669 考察对取模的的理解深不深刻啊,当然还有状态的设计····设d[i][j]表示以第i个数结尾,余数为j的取法数,那么在第i个数后加一个数 那么有递推式int yu =( j * log10( a[i+1] )+ a[i+1] )%k, d[i+1][yu] += d[i][j] ...

weixin_30772261的博客 138

STM32进入HardFault_Handler时,如何找到问题所在?

当STM32进入HardFault_Handler时,定位问题发生的点

m0_60831979的博客 2151

HDU - 3183 A Magic Lamp (RMQ + 贪心)

HDU - 3183 A Magic Lamp 题目 给一个最多 1000 位的整数,去掉 n 个数位,使剩下的数字尽可能小。 分析 去掉 n 个数位之后剩下的数位是固定的,之后对于高位贪心的尽可能取最小值即可。可以用RMQ预先处理最小值的下标。不过如果值相同,优先级左边的要比右边的高。剩下的数位有可能比较大,按字符串输出即可。 #include <bits/stdc++.h> #de...

Stormjing的博客 261

近几年预训练语音大模型汇总

语音大模型研究近年来取得显著进展,主要包括wav2vec 2.0(2020)、HuBERT(2021)、WavLM(2022)、Data2Vec(2022)、Whisper(2023)等代表性工作。这些模型采用自监督学习框架,通过掩码预测、对比学习等策略在大规模语音数据上预训练,可有效应用于语音识别、情感分析、疾病检测等下游任务。其中wav2vec 2.0首次将对比学习引入语音领域,Whisper通过68万小时弱监督数据实现强大的跨语言能力。这些突破为低资源语音任务提供了通用特征提取方案,推动了医疗语音分析

victory0431的博客 1780

MuMu模拟器过检测实战:从硬件伪装到API欺骗的完整避坑指南

本文详细介绍了MuMu模拟器过检测的实战技术,从硬件伪装到API欺骗的全方位解决方案。通过修改CPU/GPU信息、内存分布、系统属性和行为模拟等关键技术,帮助用户有效绕过现代应用的模拟器检测机制,提升模拟器的隐蔽性和稳定性。

xxx12的博客 1403

HDU 3183 A Magic Lamp(贪心 or RMQ)

HDU 3183 A Magic Lamp(贪心+RMQ) 分析: 1.       首先考虑对于n个数字组成的数,只删除1位的情况。 比如176832,删除一位使得剩下的数值最小。结果是删除7而不是删除8所以可知并不总是删除最大的那个数字。 一种可行的贪心策略是:对于n位数构成的数删除m位,每次总是删除这样的a[i]:它是第一个a[i]>a[i+1]的数,如果不存在则就删除a[n]。详见

code 1394

【Linux内核】Linux内核裁剪完全指南:从理论到实战的系统优化

在嵌入式设备、专用服务器和物联网系统日益普及的今天,如何让Linux系统在资源受限的环境中高效运行成为开发者必须面对的问题。Linux内核裁剪正是解决这一问题的关键技术,它通过移除不必要的内核组件,打造出更精简、更安全、更高效的自定义操作系统。本文将系统全面地介绍Linux内核裁剪的完整流程和实用技巧,帮助您掌握这一核心技能。Linux内核裁剪是一项结合技术知识与实践经验的系统工程。明确需求:裁剪前必须清晰了解目标系统的硬件配置和功能需求。循序渐进:采取小步修改、反复测试的策略,避免一次性大幅修改。

撬动未来的支点的专栏 1390

HDU 3183 A Magic Lamp(贪心,删掉m个数字使剩下的数字字符串最小)

题目链接: HDU 3183 A Magic Lamp 题意: 给一个只含数字的字符串ss,从中正好删掉mm个数字,求剩下的最小的数字字符串(不含前导0)?无解输出-1. 数据范围:|s|≤1000|s|\leq 1000 分析: 贪心。 每次从前往后扫到第一个位置ii,满足s[i]>s[i+1]s[i] > s[i+1],然后删除ii,相当于将后面的字母前移一个位置,直到删

ramay7 907

【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦

好了,关于 【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。1、手动下载对应版本到 pyenv-win\install_cache 目录(如上手动操作安装步骤,文件名需匹配,如 python-3.10.0-amd64.exe)。该指令会列出,pyenv包管理工具所支持的所有python版本,

Spring Boot-Common On With You 852

【WRF-DART第一期】WRF/DART概述

【WRF-DART第一期】WRF/DART概述

WW、forever的博客 107

HDU-3183 A Magic Lamp

HDU-3183 A Magic Lamp 添加链接描述 贪心思想 需注意输入有0的情况 #include<bits/stdc++.h> using namespace std; int main () { char ch[1010]; int a[100000]; int m,i,j,k,len; memset(ch,0,sizeof(ch)); while(cin>>ch>>m){ memset(a,0,sizeof(a)); len=strlen(

qq_55788088的博客 144

RK3588多核NPU并行加速yolo优化教程:基于线程池的高性能推理实现

本教程详细介绍了RK3588多核NPU的并行加速优化方法。RK3588搭载三个独立NPU核心,总计算能力达6TOPS,但传统单线程方式无法充分发挥其性能。文章从硬件架构分析入手,详细讲解了三核心独立处理架构和多种工作模式,并通过代码示例展示了线程池技术的实现原理。线程池通过预创建工作线程、任务队列和条件变量等核心组件,避免了频繁创建线程的开销,能显著提升NPU的并行处理效率。教程还提供了性能计算公式和内存带宽优化策略,帮助开发者最大化利用RK3588的硬件算力,实现高性能AI推理。

LXY_LOVE36的博客 1024

HDU 3183 A Magic Lamp 【贪心】

传送门:HDU 3183 A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description Kiki likes traveling. One day she finds a magic lamp, unfortunately...

Waiting For You 199

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

HDU3183 A Magic Lamp【贪心】

A Magic Lamp http://acm.hdu.edu.cn/showproblem.php?pid=3183 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7201Accepted Submission(s): 2...

逐梦者 404

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HDU 3183 ——A Magic Lamp

Description Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so kind. Kiki must answer a question, and then the genie will realize one of her dreams. T...

天际苍穹的博客 210

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

hdu 3183 A Magic Lamp RMQ ST 坐标最小值

hdu 3183 A Magic Lamp RMQ ST 坐标最小值 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 题目大意: 从给定的串中挑出来m个数使得剩余的数字最小,串的序列不能改变 思路: 将问题转化为求在n个数中挑选n-m个数,使之最小。假设最极端的情况,所有最大的数字都在左侧,占据了m个位置,那么我们需要挑选的最...

ddqb3235的博客 192

HDU-3183(A Magic Lamp)

题意:给定一个整数,可以删除m个数字,求原整数删除m个数字后变成的数最小是多少。 分析:设整数的长度为 n ,则删除完成之后的数的位数为 n-m,且无论如何删除完成之后的整数 的最高位肯定是原整数[0,m]区间中的一位,因为要求最小,所以第一位肯定是[0,m]区间中最小的一位,然后继续往后推就行了。 代码: #include<cmath> #include<c...

Joker & Liar的博客 1514

Hdu 3183 A Magic Lamp

题意:给你一个小于1000位的数和m,问从中删除m个数使得结果最小 RMQ算法。。。 思路:在n位数里删除m个,相当于找出n-m个位组成最小数 我们采用返回下标的方法,所以要把原来的 所以在区间 [0, m]里面找最小的数,对应的下标标号i 接着找区间 [i+1,m++]里面的最小数,对于下标为ii 接着找区间 [ii+1,m++]里面的最小数…… 这样就会找n-m个数了。区间这样

SeeYouAlways 709

从Navicat到IDEA:一条龙搞定MySQL数据库与Java项目连接

本文详细介绍了如何从Navicat数据库设计到IDEA Java项目开发,实现MySQL与Java的高效连接与集成。通过Navicat进行专业数据库建模,结合Spring Boot和JDBC技术,打造无缝开发工作流,提升企业级应用开发效率。特别适合需要快速验证业务逻辑的团队。

weixin_33698823的博客 407

HDU 3183 A Magic Lamp

RMQ.感觉找规律也可以做,但我只想到了一个很麻烦的规律,不好实现。从n位数中删去m位,使剩下的数最小,求这个数。 答案一定是n-m位,那么它的第一位应该尽量小,不然的话后边再小也没用,比如19999和20000,所以首位要最小。那么首位可选的区间是什么呢?假设答案是个k位数,第一位从输入数字的第零位开始,只要给剩下k-1位各留一个就行,所以右端点就是n-k+1,而k=n-m,所以就剩下m+1了

DotACM 685

hdu3183—A Magic Lamp(RMQ,贪心)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 A Magic Lamp Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4071    Accepted Submis

zhiyuanjiang的博客 364

HDU - 3183 (A Magic Lamp)

题目连接 题意: 题意:不能改变数字序列的顺序,从n个数中删除m个,输出删除后最小的数 数据范围: (m<n<=1000)输出忽略前导0; 思路: 用一个栈,然后然后如果栈顶元素大于s [ i ]就弹出栈顶元素(删除该数),一直循环,如果s [ i ] 小于栈顶元素或者栈为空,压入栈,这样我们的栈到最后维护了一个单调递增的...

Harington的博客 291
上一篇: hdu3184 All Can Do
下一篇: 1055. 集体照 (25)
dpdpd
博客等级 码龄11年 3粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值