news 2026/4/16 13:31:12

算法竞赛备考冲刺必刷题(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/16 12:52:44

基于python的书籍售卖系统(源码+文档)

项目简介书籍售卖系统实现了以下功能&#xff1a;前台&#xff1a;用户注册&#xff0c;书籍展示&#xff0c;在线购物&#xff0c;购物车&#xff0c;在线下单&#xff0c;结账管理&#xff0c;销售排行榜 后台管理员&#xff1a;用户管理 &#xff0c;书籍管理&#xff0c;定…

作者头像 李华
网站建设 2026/4/15 20:45:27

前端如何调用TTS API?提供curl示例与JavaScript代码片段

前端如何调用TTS API&#xff1f;提供curl示例与JavaScript代码片段 &#x1f399;️ Sambert-HifiGan 中文多情感语音合成服务 (WebUI API) 项目背景与技术价值 在智能语音交互日益普及的今天&#xff0c;文本转语音&#xff08;Text-to-Speech, TTS&#xff09; 技术已成为客…

作者头像 李华
网站建设 2026/4/9 15:10:15

跨语言迁移:使用LLaMA-Factory进行中文模型微调的最佳实践

跨语言迁移&#xff1a;使用LLaMA-Factory进行中文模型微调的最佳实践 如何让国际大模型更好地适配中文场景&#xff1f;直接微调英文预训练模型往往效果不佳。本文将分享基于LLaMA-Factory的中文模型微调方法论&#xff0c;通过针对性优化解决语义理解、文化差异等本土化难题。…

作者头像 李华
网站建设 2026/4/13 17:07:37

Llama Factory微调实战:从模型选择到效果评估

Llama Factory微调实战&#xff1a;从模型选择到效果评估 作为一名AI研究人员&#xff0c;你是否曾为大语言模型微调的复杂流程感到困惑&#xff1f;本文将带你全面了解如何使用Llama Factory完成从模型选择到效果评估的完整微调流程。这类任务通常需要GPU环境&#xff0c;目前…

作者头像 李华
网站建设 2026/4/10 12:39:10

如何用Sambert-HifiGan为智能汽车生成驾驶提示

如何用Sambert-HifiGan为智能汽车生成驾驶提示 引言&#xff1a;让车载语音更自然、更有温度 在智能汽车的交互系统中&#xff0c;驾驶提示语音是用户感知最直接的功能之一。传统的TTS&#xff08;Text-to-Speech&#xff09;系统往往音色机械、语调单一&#xff0c;难以满足现…

作者头像 李华
网站建设 2026/4/15 14:32:10

ComfyUI节点设计:拖拽式生成带语音的多媒体内容

ComfyUI节点设计&#xff1a;拖拽式生成带语音的多媒体内容 &#x1f3af; 业务场景与核心痛点 在当前AIGC&#xff08;人工智能生成内容&#xff09;快速发展的背景下&#xff0c;多媒体内容创作正从“专业工具驱动”向“低代码/无代码平台”演进。视频、播客、教育课件、虚拟…

作者头像 李华