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

算法竞赛备考冲刺必刷题(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
http://www.jsqmd.com/news/220631/

相关文章:

  • 开源替代方案:用LLaMA-Factory构建企业级ChatGPT克隆
  • Sambert-HifiGan语音合成服务Kubernetes部署实战
  • Sambert-HifiGan在智能家居中的落地实践:让设备开口说话
  • LangChain集成TTS实战:Sambert-Hifigan实现对话机器人语音输出
  • 隐私保护:在本地PC上安全使用Llama Factory
  • 收藏!DeepSeek爆火后,后端转AI大模型工程化工程师全攻略
  • Llama Factory微调实战:从模型选择到效果评估
  • VIT视觉模型+语音合成?多模态项目中Sambert提供高质量音频输出
  • Llama Factory终极指南:从零到微调专家只需1小时
  • Doctest:让你的测试更简单高效
  • 十分钟玩转Llama Factory:零基础快速搭建你的第一个对话模型
  • RAG系统如何集成语音输出?Sambert-Hifigan API无缝对接langchain
  • 前端如何调用TTS API?提供curl示例与JavaScript代码片段
  • Transformer与Hifigan结合优势分析:高质量中文TTS生成技术指南
  • 揭秘LLaMA Factory:如何用云端GPU快速微调你的专属AI助手
  • 5分钟极速上手:用LLaMA-Factory和云端GPU打造你的第一个AI聊天机器人
  • Llama Factory微调显存不足?云端GPU一键解决
  • 如何更有效地说服开发接收你的bug
  • Llama Factory微调显存不足?云端GPU一键解决
  • apifox怎么测试API,你学会了吗?
  • 灰度测试是什么?
  • Llama Factory可视化:无需代码快速定制你的对话AI
  • 京东关键词API接口获取
  • Sambert-HifiGan语音合成在AR/VR中的应用
  • 如何实现测试自动化?
  • 提升Sambert-HifiGan合成质量的7个实用技巧
  • 从 0 到 1:用 RPA 技术实现企业微信外部群 自动化管理
  • Sambert-HifiGan语音合成服务的监控与告警
  • PYCHARM激活模拟器:安全测试你的激活方案
  • PYCHARM激活模拟器:安全测试你的激活方案