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

题目 3316: 蓝桥杯2025年第十六届省赛真题-数组翻转

题目 3316: 蓝桥杯2025年第十六届省赛真题-数组翻转
时间限制: 3s 内存限制: 512MB 提交: 101 解决: 24
题目描述
小明生成了一个长度为 n 的正整数数组 a1, a2, . . . , an,他可以选择连续的一 段数 al , al+1, ..., ar,如果其中所有数都相等即 al = al+1 = ... = ar,那么他可以获 得 (r − l + 1) × al 的分数。 

在选择之前,为了让分数尽可能大,他决定先选择数组中的一段区间,对 其进行左右翻转。他想知道在对数组进行翻转之后他能获得的最大分数是多少? 

提示:当翻转 al 到 ar 这段区间后,整个数组会变为 a1, a2, . . . , al−1, ar , ar−1, . . . , al+1, al , ar+1, . . . , an

输入格式
输入共两行。

第一行为一个正整数 n。

第二行为 n 个由空格分开的正整数 a1, a2, . . . , an。

输出格式
输出共 1 行,一个整数表示答案。

样例输入复制
7
4 4 3 3 2 1 3
样例输出复制
9
提示
【样例说明】 

翻转区间 [5, 7],数组变为 4, 4, 3, 3, 3, 1, 2,最大分数为选择三个 3。 

【评测用例规模与约定】 

对于 20% 的评测用例,n ≤ 500。 

对于 100% 的评测用例,n ≤ 106,ai ≤ 106。

1.分析

        记录连续出现相同数字的个数的前两最大值。因为可以通过反转把这两个链接起来。

        最后统计计算最大值。

2.代码

        

#include<iostream>
#include<set>
#include<algorithm>
using namespace std;
const int MAX = 1e6+10;
typedef long long LL;
int n, a[MAX],re;
int b[MAX][2];
set<int> m;
int main() {cin >> n;for (int i = 0; i < n; i++) {cin >> a[i];}a[n] = -1;int t=a[0], s=0;m.insert(a[0]);for (int i = 1; i <= n; i++) {if (a[i] != t) {int num = i - s;if (num > b[t][0]) b[t][0] = num;else if (num > b[t][1]) b[t][1] = num;t = a[i];s = i;m.insert(t);}}for (auto it : m) {int sum = it * (b[it][0] + b[it][1]);re = max(re, sum);}cout << re << endl;return 0;
}

http://www.xdnf.cn/news/9464.html

相关文章:

  • mac 下安装Rust Toolchain(Nightly)
  • Redis--缓存穿透与缓存雪崩详解及解决方案
  • Cloudera Manager 学习笔记
  • 程序的 “内存舞台”:深入解析虚拟地址空间与内存管理
  • 3D Tiles高级样式设置与条件渲染(4)
  • 8Manage PM、Trello与飞书对比评测:哪款项目管理软件更适合企业使用?
  • 《仿盒马》app开发技术分享-- 确认订单页(数据展示)(端云一体)
  • 程序开发的 “瑞士军刀”:深入解析库文件的原理与实践
  • 六大常用查找算法对比分析
  • 电气行业PLM应用案例:国产PLM助力山西氪安研发转型
  • P1903 [国家集训队] 数颜色 / 维护队列(单点修改莫队)
  • 借教室--二分+查分
  • vue2 一分钟不动系统 系统将进行锁定
  • Android系统 TinyAlsa命令
  • 计算机科技笔记: 容错计算机设计05 n模冗余系统 特殊的双模系统 复杂结构 非并行串行结构的两种计算方法
  • 4.GIS迁移步骤+注意事项+部署常见问题
  • Keepalived 配置 VIP 的核心步骤
  • 西门子-队列
  • SaaS与私有部署:企业如何选择同城O2O外卖跑腿APP开发方案?
  • 第五章 文件内容显示
  • java每日精进 5.27【异步实现】
  • C3P0连接池的使用方法和源码分析
  • Linux系统 - 系统编程概念
  • 【Redis】常用的数据类型 + 单线程模型
  • 答疑:鲜羊奶如何助力亲子关系平衡?
  • 全志V853 mpp程序开发
  • Python训练营---Day38
  • Kubernetes 中的CRD(Custom Resource Definition)与Operator详解
  • Web前端入门:JavaScript 运算符 == 和 === 有什么区别?
  • 枪弹库专用门