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

洛谷 B4416:[GESP202509 四级] 最长连续段 ← sort+unique

【题目来源】
https://www.luogu.com.cn/problem/B4416

【题目描述】
对于 k 个整数构成的数组 [b1, b2, …, bk],如果对 1≤i<k 都有 bi+1=bi+1,那么称数组 b 是一个连续段。
给定由 n 个整数构成的数组 [a1, a2, …, an],你可以任意重排数组 a 中元素顺序。请问在重排顺序之后,a 所有是连续段的子数组中,最长的子数组长度是多少?
例如,对于数组 [1,0,2,4],可以将其重排为 [4,0,1,2],有以下 10 个子数组:
[4],[0],[1],[2],[4,0],[0,1],[1,2],[4,0,1],[0,1,2],[4,0,1,2]
其中除 [4,0],[4,0,1],[4,0,1,2] 以外的子数组均是连续段,因此是连续段的子数组中,最长子数组长度为 3。

【输入格式】
第一行,一个正整数 n,表示数组长度。
第二行,n 个整数 a1, a2, …, an,表示数组中的整数。

【输出格式】
一行,一个整数,表示数组 a 重排顺序后,所有是连续段的子数组的最长长度。

【输入样例】
9
9 9 8 2 4 4 3 5 3​​​​​​​

【输出样例】
4

【数据范围】
对于 40% 的测试点,保证 1≤n≤8。
对于所有测试点,保证 1≤n≤10^5,−10^9≤ai≤10^9。​​​​​​​

【算法分析】
已知数组 a 中的元素下标从 0 开始,若要利用 STL unique 函数将数组 a 中的 n 个元素去重后升序输出,需要经过以下三步:
1. 利用 sort(a,a+n); 函数对数组 a 中的 n 个元素进行排序。
2. 利用 unique(a,a+n)-a; 计算数组 a 中不重复元素的个数。切记,STL unique 函数并没有将重复的元素删去,而是依序排在了不重复元素的后面
3. 输出a[i],i=1 ~ unique(a,a+n)-a。

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
int a[maxn];int main() {int n;cin>>n;for(int i=0; i<n; i++) {cin>>a[i];}sort(a,a+n);int len=unique(a,a+n)-a;int cnt=1,imx=1;for(int i=1; i<len; i++) {if(a[i]-a[i-1]==1) {cnt++;imx=max(imx,cnt);} else cnt=1;}cout<<imx<<endl;return 0;
}/*
in:
9
9 9 8 2 4 4 3 5 3out:
4
*/




【参考文献】
https://blog.csdn.net/guolianggsta/article/details/152925085
https://gesp.ccf.org.cn/101/attach/1703973044092960.pdf
https://blog.csdn.net/hnjzsyjyj/article/details/146331059
https://blog.csdn.net/hnjzsyjyj/article/details/153268411
https://blog.csdn.net/hnjzsyjyj/article/details/127197232

 

http://www.gsyq.cn/news/56848.html

相关文章:

  • 2025年11月GEO公司谁专业?硬核测评TOP10终极对比
  • 2025年11月GEO公司深度盘点:哪家做得好?10家服务商全景解析
  • 2025年11月GEO公司哪家强?热度榜TOP10硬核测评
  • 【CI130x 离在线】Linux平台从命名管道接收PCM格式数据并转为WAV文件——Python脚本实现
  • 2025年11月GEO服务商综合评测:哪家服务效果更优?
  • 2025年11月GEO公司深度盘点:怎么选?十大服务商权威发布
  • 2025年11月GEO服务商怎么选?深度盘点TOP10专业解析
  • 2025年11月GEO服务商选择指南:哪家好权威推荐
  • [课本配套源代码]
  • 苹果手机传文件到 windows 电脑
  • 11/21
  • 关于Git的多分支使用
  • 掌控Apple Silicon MacBook电池健康的神器
  • 立方数
  • Rust环境搭建
  • 20251117~20251123NOIP模拟赛
  • Java的第一个程序
  • 20232310 2025-2026-1 《网络与系统攻防技术》实验七实验报告
  • 完整教程:基于Python楼王争霸劳动竞赛数据处理分析
  • 【springboot线上零食舱系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案 - 详解
  • 2025.11.21博客
  • NVM 与 单节点下PM2进程守护 安装配置以及使用教程完整指南(含 Node.js 环境搭建)
  • 北大六院的诊断
  • django项目前端模版文件,在pycahrm无法使用ctrl+alt+l格式化代码的解决办法
  • QT:Qt5.14向文档输出表格--编译异常信息
  • 《程序员修炼之道》阅读笔记5
  • 2025.11.21 - A
  • 2025年新版ADB工具箱下载+驱动+ADB指令集+fastboot刷机ROOT程序
  • 与括号序列相关的 DP 笔记
  • 题解:SP5830 ALTPERM - Alternating Permutations