news 2026/5/27 16:12:21

P1323 删数问题 【洛谷算法习题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
P1323 删数问题 【洛谷算法习题】

P1323 删数问题

网页链接

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

输出格式

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

输入输出样例 #1

输入 #1

5 4

输出 #1

137915 95

说明/提示

数据规模与约定
  • 对于30 % 30\%30%的数据,保证1 ≤ k , m ≤ 300 1\le k,m\le3001k,m300
  • 对于100 % 100\%100%的数据,保证1 ≤ k , m ≤ 3 × 10 4 1\le k,m\le3\times10^41k,m3×104

解题思路

本题分为集合元素生成贪心删数两大核心步骤。集合元素以 1 为起点,按规则递推生成,采用小根堆(优先队列)维护元素顺序,每次取出堆顶最小元素拼接成字符串,同时将新生成的两个元素入堆,直至取满 k 个元素。删数环节为经典贪心问题:遍历字符串,删除第一个小于后一位字符的字符,重复 m 次即可得到最大数字;若字符串全程非递增,则删除末尾 m 个字符。该方案逻辑简洁,时间复杂度高效适配k 、 m ≤ 3 × 10 4 k、m≤3×10^4km3×104的数据规模。

总结

核心逻辑:小根堆生成集合最小 k 个元素,贪心策略删除 m 个字符得到最大数。
关键操作:优先队列维护有序元素、遍历删除升序前置字符完成删数。
效率保障:堆操作保证元素有序,贪心删数线性遍历,无冗余计算,完美适配题目数据范围。

代码内容

#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e3+10;constll INF=1e18;constll M=1e6+10;constll mod=1e9+7;ll k,m;priority_queue<ll,vector<ll>,greater<ll>>cre;string s;intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);cin>>k>>m;cre.push(1);for(ll i=1;i<=k;i++){ll x=cre.top();s+=to_string(x);cre.pop();cre.push(2*x+1);cre.push(4*x+5);}cout<<s<<endl;ll cnt=0;for(;;){for(ll i=0;i<(ll)s.size()-1;i++){if(s[i]<s[i+1]){cnt++;s.erase(i,1);if(cnt>=m){cout<<s<<endl;exit(0);}break;}}}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 16:08:59

从仓库臃肿到轻装上阵:GIT LFS迁移实战与效能对比

1. 当Git仓库变成"胖子"&#xff1a;我们遇到了什么问题 第一次发现Git仓库出问题是在某个周一的早晨。CI/CD流水线突然报错&#xff0c;Jenkins控制台里赫然显示着"git clone failed"的红色警告。我尝试调整clone深度、延长超时时间&#xff0c;甚至换了台…

作者头像 李华
网站建设 2026/5/27 16:03:06

ThinkPad风扇控制优化:TPFanCtrl2双风扇智能散热完全指南

ThinkPad风扇控制优化&#xff1a;TPFanCtrl2双风扇智能散热完全指南 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 ThinkPad P系列和X系列笔记本用户经常面临散热和噪…

作者头像 李华
网站建设 2026/5/27 15:59:11

3分钟快速上手:免费开源图片去重工具AntiDupl.NET完整指南

3分钟快速上手&#xff1a;免费开源图片去重工具AntiDupl.NET完整指南 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否厌倦了硬盘里堆积如山的重复图片&#xff…

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

构建企业级PostgreSQL高可用集群:基于etcd与Patroni的离线部署实战

1. 离线环境准备&#xff1a;从零搭建企业级数据库集群的基础 在金融、政务等对数据安全要求极高的场景中&#xff0c;我们经常需要在内网隔离环境下部署数据库系统。这种环境下&#xff0c;传统的在线安装方式完全失效&#xff0c;必须采用离线部署方案。我去年参与某银行核心…

作者头像 李华