B4453 [海淀区普及组 2025 T1] 序列相似对 题解

题意简析

计算给定序列的所有字段权值和,权值定义为有相同数值的下标对数。

思路解析

首先考虑到枚举,一个长度为 \(n\) 的序列,总共可以产生 \(n^2\) 数量级的子序列,子序列的最长长度为 \(n\),时间复杂度为 \(O(n^3)\)


但我们想到,这其中的枚举肯定会有很多重复,所以考虑优化。

这里有一种 \(O(n)\) 的做法,对于每个下标对 \((i,j)\),包含它的子段数量是 \(i(n-j+1)\)。为什么呢?因为它的左端点是 \([1,i]\),右端点是 \([j,n]\),左端点有 \(i\) 种可能,右端点有 \(n-j+1\) 种可能,根据我们小学二年级就学过的乘法原理,那么这个子段对答案的贡献就是 \(i(n-j+1)\) 个它所拥有的相同数值下标对数。

对于每个数值的出现的下标的序列,我们令其为 \(p\),大小为 \(m\),那么我们的答案就是:

\[\sum_{i=1}^{m-1} \sum_{j=i+1}^{m} p_i(n-p_j+1) \]

这个东西弄不好还是 \(O(n^2)\) 的,所以我们可以提取公因式,转化为:

\[ \sum_{i=1}^{m-1} [p_i \sum_{j=i+1}^{m}(n-p_j+1)]\]

预处理后缀和处理即可。

代码实现

这里带 \(\log\) 的原因是用了 unordered_map,如果实现的好的话是可以去的。

实现1:

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 5;
int n, ans, a[N];
unordered_map<int, vector<int> > Pos;
signed main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];Pos[a[i]].push_back(i);}for (auto& [v, pos] : Pos) {int m = pos.size();if (m >= 2) {vector<int> suf(m, 0);suf[m - 1] = n - pos[m - 1] + 1;for (int i = m - 2; i >= 0; i--) {suf[i] = suf[i + 1] + (n - pos[i] + 1);}for (int i = 0; i < m - 1; i++) {ans += pos[i] * suf[i + 1];}}}cout << ans;return 0;
}

实现2

#include <bits/stdc++.h>
#define int long long
using namespace std;
unordered_map<int, int> suf;
int n, ans;
signed main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cin >> n;for (int i = 1, x; i <= n; i++) {cin >> x;ans += suf[x] * (n - i + 1);suf[x] += i;}cout << ans;return 0;
}

后记

双倍经验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1193536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年GEO优化公司推荐:企业AI战略升级评测,解决品牌可见性与增长痛点排名

摘要 随着生成式人工智能(Generative AI)深度重构全球信息获取与决策路径,品牌在AI对话答案中的“可见性”与“权威性”已取代传统搜索引擎排名,成为企业获取高质量流量、构建竞争壁垒的全新战略要地。生成式引擎优…

2026年无缝钢管推荐:基于多行业应用场景评测,解决选材与供应稳定性核心痛点

摘要 在工业制造与重大基础设施建设领域,无缝钢管作为关键的基础材料,其供应链的稳定性、产品的合规性与质量的可靠性,直接关系到下游项目的安全、成本与进度。当前,采购决策者普遍面临着一个核心挑战:在众多供应…

YOLOv9评估功能详解,mAP指标计算全过程

YOLOv9评估功能详解&#xff0c;mAP指标计算全过程 在目标检测任务中&#xff0c;模型训练只是第一步&#xff0c;真正衡量其“实战能力”的是评估环节。而YOLOv9作为当前极具竞争力的实时检测框架之一&#xff0c;不仅在架构设计上引入了可编程梯度信息&#xff08;PGI&#…

银源电力联系方式:加盟咨询与业务合作指南

一、官方联系方式 加盟咨询电话:13551886986 公司官方网站:www.scyydl.com 二、使用建议与提醒 首先,在通过电话进行咨询前,建议访问其官方网站,对公司的业务范围、资质情况和经营理念有一个基础的了解。这有助于…

2026年GEO优化公司推荐:聚焦工业与专业服务领域评价,应对AI生态权威构建挑战

摘要 在生成式人工智能(AIGC)深度重塑信息分发与获取方式的当下,企业品牌在AI对话答案中的“可见性”与“权威性”已取代传统搜索引擎排名,成为全新的战略竞争高地。对于寻求在AI时代构建可持续智能增长引擎的企业…

2026年无缝钢管推荐:工业生产与能源项目评测,直击质量与交付核心痛点

摘要 在工业制造与重大基础设施建设领域,无缝钢管作为关键的承压、输送与结构材料,其选型决策直接关系到项目的安全性、经济性与长期稳定运行。当前,采购决策者普遍面临一个核心挑战:在供应商众多、产品规格繁杂、…

OBS NDI插件终极配置指南:5步打造专业级视频流系统

OBS NDI插件终极配置指南&#xff1a;5步打造专业级视频流系统 【免费下载链接】obs-ndi NewTek NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi 想要告别复杂的视频线缆&#xff0c;实现多机位无缝切换&#xff1f;OBS NDI插件正…

3分钟解锁B站缓存视频:m4s转MP4的智能解决方案

3分钟解锁B站缓存视频&#xff1a;m4s转MP4的智能解决方案 【免费下载链接】m4s-converter 将bilibili缓存的m4s转成mp4(读PC端缓存目录) 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾为B站缓存视频无法播放而烦恼&#xff1f;那些珍贵的教学视…

知名的搅拌站专用燃烧器沥青设备厂家2026年推荐几家?

在筑路工程领域,搅拌站专用燃烧器沥青设备的选择直接影响工程效率与成本控制。2026年推荐厂家的判断逻辑基于三个核心维度:技术成熟度(产品性能稳定性与创新性)、市场验证(客户覆盖广度与行业口碑)以及服务体系(…

Docker build --no-cache只是表象,真正致命的是层哈希重计算!——从AUFS到overlay2内核级缓存机制深度解密(2024最新内核补丁验证)

第一章&#xff1a;Docker build 缓存失效强制更新镜像Docker 构建缓存机制虽能显著提升镜像构建效率&#xff0c;但当基础镜像更新、依赖文件变更或构建上下文不一致时&#xff0c;缓存可能隐式复用过期层&#xff0c;导致镜像内容陈旧甚至运行异常。此时需主动干预缓存策略&a…

Windows系统日志监控终极解决方案:Visual Syslog Server完全实战指南

Windows系统日志监控终极解决方案&#xff1a;Visual Syslog Server完全实战指南 【免费下载链接】visualsyslog Syslog Server for Windows with a graphical user interface 项目地址: https://gitcode.com/gh_mirrors/vi/visualsyslog 在当今复杂的企业网络环境中&am…

万物识别模型可用于智能家居?物联网感知层尝试

万物识别模型可用于智能家居&#xff1f;物联网感知层尝试 你有没有想过&#xff0c;家里的摄像头不仅能“看见”人&#xff0c;还能真正“理解”眼前的一切——知道老人是否跌倒、孩子在玩什么玩具、冰箱里还剩几瓶牛奶&#xff1f;这不再是科幻场景。随着视觉AI技术的成熟&a…

2026年无缝钢管推荐:基于工业场景深度评测,解决供应链稳定与质量痛点排名

摘要 在工业制造与重大基础设施建设领域,无缝钢管作为关键的承压、输送与结构材料,其供应链的稳定性、产品质量的可靠性直接关系到项目的安全、成本与进度。决策者,尤其是项目采购负责人与工程承包商,在纷繁复杂的…

TurboDiffusion新手必看:文生视频提示词编写规范与示例

TurboDiffusion新手必看&#xff1a;文生视频提示词编写规范与示例 1. TurboDiffusion是什么 TurboDiffusion不是某个孤立的模型&#xff0c;而是一套真正让视频生成“快起来”的加速框架。它由清华大学、生数科技和加州大学伯克利分校联合研发&#xff0c;底层基于Wan2.1和Wan…

Z-Image-Turbo参数怎么调?guidance_scale为0的生成逻辑解析

Z-Image-Turbo参数怎么调&#xff1f;guidance_scale为0的生成逻辑解析 1. 镜像环境与快速上手 本镜像基于阿里达摩院开源的 Z-Image-Turbo 模型构建&#xff0c;专为文生图任务优化。核心亮点在于&#xff1a;已预置32.88GB完整模型权重文件至系统缓存中&#xff0c;无需等待…

Centos及Redhat学习笔记

目录前言一、redhat8 使用国内yum源以及dnf命令二、redhat 7 使用国内yum源三、CentOS 7 更换阿⾥yum源四、centos7关闭yum自动更新五、centos 7设置IP地址1 . Centos7 通过修改配置文件设置静态IP地址查看IP地址(记住…

2026年1月塑封机品牌推荐排行榜:五大品牌综合对比与选购深度分析

一、引言 在办公文印、影像制作以及文档长期保存等多个领域,塑封机作为关键的印后处理设备,其重要性不言而喻。对于采购经理、图文店经营者、摄影工作室从业者以及有大量文档塑封需求的机构用户而言,选择一台合适的…

两天烧掉200美元!我AI大模型网关终于支持了Claude模型

这是一个关于“真金白银”的开发故事。 Chats 1.9.0 发布于 2025 年 11 月 27 日,距离上一个版本发布仅过去了不到一个月。但对 Chats 来说,这却是一个里程碑式的版本:我们不仅全面支持了 Anthropic(Claude)模型,…

Emotion2Vec+ Large降本部署案例:低成本GPU方案节省40%算力

Emotion2Vec Large降本部署案例&#xff1a;低成本GPU方案节省40%算力 1. 背景与挑战&#xff1a;语音情感识别的落地难题 在智能客服、心理评估、车载交互等场景中&#xff0c;语音情感识别正变得越来越重要。Emotion2Vec Large 是目前开源领域表现最出色的语音情感识别模型…

B站字幕智能提取:5分钟掌握视频文字内容高效获取完整指南

B站字幕智能提取&#xff1a;5分钟掌握视频文字内容高效获取完整指南 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 还在为手动整理B站视频字幕而烦恼&#xff1…