news 2026/4/7 18:29:23

算法竞赛备考冲刺必刷题(C++) | 洛谷 P1323 删数问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法竞赛备考冲刺必刷题(C++) | 洛谷 P1323 删数问题

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

洛谷:P1323 删数问题 - 洛谷

【题目描述】

一个集合有如下元素:1 11是集合元素;若P PP是集合的元素,则2 × P + 1 2\times P+12×P+14 × P + 5 4\times P+54×P+5也是集合的元素。

取出此集合中最小的k kk个元素,按从小到大的顺序组合成一个多位数,现要求从中删除m mm个数位上的数字,使得剩下的数字最大,编程输出删除前和删除后的多位数字。

注:不存在所有数被删除的情况。

【输入】

只有一行两个整数,分别代表k kkm mm

【输出】

输出为两行两个整数,第一行为删除前的数字,第二行为删除后的数字。

【输入样例】

5 4

【输出样例】

137915 95

【算法标签】

《洛谷 P1323 删数问题》 #模拟# #字符串# #贪心# #优先队列# #队列#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong// 定义int为long long类型intk,m,a[30005];// k: 需要生成的序列长度, m: 可以删除的字符数, a: 存储生成的序列priority_queue<int,vector<int>,greater<int>>pq;// 小根堆,用于生成序列string ans;// 合并后的字符串stack<char>sta;// 栈,用于删除字符的贪心算法// 初始化函数:生成特定序列voidinit(){pq.push(1);// 初始元素1入堆for(inti=1;i<=30000;i++)// 生成30000个序列元素{a[i]=pq.top();// 取出当前最小值pq.pop();// 弹出最小值// 根据规则生成新的元素pq.push(2*a[i]+1);pq.push(4*a[i]+5);}}signedmain()// 因为使用了#define int long long,所以用signed main{cin>>k>>m;// 输入k和minit();// 生成序列// 第一部分:将前k个序列元素拼接成字符串for(inti=1;i<=k;i++)ans+=to_string(a[i]);cout<<ans<<endl;// 输出拼接后的字符串// 第二部分:删除m个字符,使剩下的字符串字典序最大for(inti=0;i<ans.size();i++)// 遍历字符串{// 贪心策略:当栈顶字符小于当前字符且还有删除次数时,弹出栈顶while(sta.size()&&sta.top()<ans[i]&&m){sta.pop();m--;}sta.push(ans[i]);// 当前字符入栈}// 处理剩余未删除的字符(如果m>0,从末尾删除)while(m>0&&!sta.empty()){sta.pop();m--;}// 从栈中取出结果字符串string s="";while(sta.size()){s=sta.top()+s;// 注意顺序,栈顶是最后入栈的sta.pop();}cout<<s<<endl;// 输出最终结果return0;}

【运行结果】

5 4 137915 95
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/5 13:48:00

基于python和vue的校园二手书交易系统_w387km94

目录 校园二手书交易系统摘要 开发技术 核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 校园二手书交易系统摘要…

作者头像 李华
网站建设 2026/4/3 14:20:28

Sambert-HifiGan在智能零售中的语音导购应用

Sambert-HifiGan在智能零售中的语音导购应用 引言&#xff1a;让AI声音更懂用户情绪的购物引导 在智能零售场景中&#xff0c;传统的自动化语音播报往往缺乏情感温度&#xff0c;机械单调的声音难以吸引顾客注意力&#xff0c;甚至可能引发听觉疲劳。随着消费者对个性化服务体验…

作者头像 李华
网站建设 2026/4/1 23:58:42

模型对比实验:LLaMA Factory多框架性能基准测试

模型对比实验&#xff1a;LLaMA Factory多框架性能基准测试指南 为什么需要做多框架性能基准测试 在大模型微调领域&#xff0c;技术选型团队经常面临一个关键问题&#xff1a;如何选择最适合项目需求的微调框架&#xff1f;LLaMA Factory作为当前流行的开源低代码大模型微调框…

作者头像 李华
网站建设 2026/4/3 4:33:13

LLaMA Factory全解析:如何用预配置镜像轻松管理多个微调项目

LLaMA Factory全解析&#xff1a;如何用预配置镜像轻松管理多个微调项目 如果你是一名开发者&#xff0c;同时在进行多个大语言模型微调项目&#xff0c;可能会遇到环境管理混乱的问题。不同项目依赖的库版本冲突、配置文件互相覆盖、显存分配不合理等情况让人头疼。LLaMA Fact…

作者头像 李华
网站建设 2026/3/28 19:55:52

如何用Sambert-HifiGan实现多角色对话语音合成

如何用Sambert-HifiGan实现多角色对话语音合成 &#x1f3af; 业务场景与痛点分析 在智能客服、虚拟主播、有声书生成和互动式教育等应用场景中&#xff0c;单一音色的语音合成已无法满足用户对自然性和情感表达的需求。传统TTS系统往往存在以下问题&#xff1a; 情感单调&a…

作者头像 李华
网站建设 2026/4/5 23:03:38

LLaMA Factory探索:如何快速微调一个适用于金融分析的模型

LLaMA Factory探索&#xff1a;如何快速微调一个适用于金融分析的模型 作为一名金融分析师&#xff0c;你是否遇到过这样的困境&#xff1a;面对海量的财报数据、行业研报时&#xff0c;传统分析方法效率低下&#xff0c;而市面上的通用大模型又难以准确理解"EBITDA调整项…

作者头像 李华