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

CF1082E 解题报告

题目意思

至多进行一次操作,一个操作定义为将 \(i\in{[l,r]}\)\(a_i = a_i + b\) 这个 \(b\) 自定,无限制,询问至多一次操作之后,至多有多少个 \(i\in{[1,n]}\) 满足 \(a_i=c\) 其中 \(c\) 为给定的一个数。

思路

首先我们考虑如果我们选定了 \({[l,r]}\),我们要怎么做才能让答案最大,首先 \(a_r\) 必须是区间众数,否则的话将右端点和左端点都移到最外面的区间众数一定是不劣的,发现我们肯定是让区间众数变成 \(c\),那么区间 \({[l,r]}\) 中的所有 \(a_i=c\)\(a_i\) 都不可能是 \(c\) 了,所以假设我们区间外面有 \(num\)\(i\) 满足 \(a_i=c\),区间内的众数数量为 \(num'\),则最多有 \(num+num'\)\(c\),发现不好计算区间外有多少个 \(c\) 考虑转化,变成区间内众数数量减去区间内 \(c\) 的数量加上 \(c\) 的总数
具体的我们令 \(all\)\(c\) 的总数,$sum_{i,j} 表示前 \(i\) 个数字,\(j\) 的出现次数,那么区间 \({[l,r]}\) 操作一次答案最大为 \(sum_{r,a_r}-sum_{l-1,a_r}-(sum_{r,c}-sum_{l-1,c})+all\),变化一下就是

\[(sum_{r,a_r}-sum_{r,c})+(sum_{l-1,c}-sum_{l-1,a_r}) + all \]

因为我们 \(a_r=a_l\),所以对于每一个 \(i\) 记录一个 \(mn_i\) 表示 \(\max\limits_{j=1,a_j=a_i}^{j\le i}(sum_{j,c}-sum_{j,a_i})\),然后因为它就相当于从上一个 \(a_j=a_i\) 的位置新加入了一个节点,所以我们直接从上一个继承就可以了

tips:因为空间复杂度的问题,所以第一维要滚掉

代码

//好烦
#include<algorithm>
#include<iostream>
#include<cstring>
#include<climits>
#include<cmath>
#define ll long longusing namespace std;
const int N=5e5+9;
int n,c,a[N],mn[N],mx[N],sum[N];int main(){int ans=INT_MIN;cin>>n>>c;for(int i=1;i<=n;i++){cin>>a[i];mn[a[i]]=max(mn[a[i]],sum[c]-sum[a[i]]);sum[a[i]]++;mx[a[i]]=max(mx[a[i]],sum[a[i]]-sum[c]+mn[a[i]]);}for(int i=1;i<N;i++)ans=max(ans,mx[i]+sum[c]);cout<<ans;return 0;
}
http://www.jsqmd.com/news/11594/

相关文章:

  • 国标GB28181算法算力平台EasyGBS具备哪些核心流媒体技术?
  • 2025 年净化车间源头厂家最新推荐排行榜:精选实力企业,助力企业精准选择优质净化车间服务商无尘/gmp/新能源/锂电池净化车间厂家推荐
  • 如何复制获取无法复制的页面内容
  • C语言的“动态数组”
  • 详细介绍:Spring Boot 应用示例
  • (Sigcomm25) Stellar: 阿里新一代云AI RDMA网络
  • 背包 dp 历年真题:做题记录
  • 【触想智能】什么是工业平板电脑以及工业平板电脑对制造业具有什么意义
  • 市场营销:
  • Python3开发敏感词过滤程序底层逻辑记录
  • OUC《软件工程原理与实践》- 实验2:深度学习基础 - OUC
  • 类型转化
  • 【IEEE出版】第五届电子信息工程与计算机技术国际学术会议(EIECT 2025)
  • 【AP出版】第七届文学、艺术与人文发展国际学术会议(ICLAHD 2025)
  • 事件驱动重塑 AI 数据链路:阿里云 EventBridge 发布 AI ETL 新范式
  • 详细介绍:腾讯混元 3D 系列两大模型正式于 GitCode 开源:首个原生3D部件生成+多条件控制模型免费开放
  • 我把Excel变成了像素画板!用Python实现图片到单元格的映射
  • 如何通过内核版本检查判断FreeBSD是否需要重启
  • 2025 年山东染井吉野樱 / 高杆染井吉野樱花 / 染井吉野樱花小苗厂家推荐:绿影园林的培育技术与全规格供应解析
  • C#中关于InvokeRequired 属性 与Invoke方法
  • 云存储成本自动优化技术解析
  • MZOI 20251011【CSP-】模拟 T2 序列区间
  • 完整教程:后端进阶-性能优化
  • SAP 中CONCATENATE 空格的时候,空格不生效
  • 如何在 Vue 中打印页面:直接用 web-print-pdf(npm 包) - 详解
  • Java的各类定时任务实现
  • 03:运算符
  • JavaScript内存泄露原因及解决方案
  • 数据类型扩展
  • python静态类型之any