第五届上海市青少年算法竞赛 T4 夹心饼干(思维、数学)

第四题:T4夹心饼干

标签:思维、数学
题意:给定一个数列 a 1 , a 2 , a 3 . . . , a n a_1,a_2,a_3...,a_n a1,a2,a3...,an,请求出在这个序列中,能挑出多少个三个数 a i , a j , a k a_i,a_j,a_k ai,aj,ak,满足 i < j < k i<j<k i<j<k a i = a k a_i=a_k ai=ak a i ≠ a j a_i \neq a_j ai=aj ( 1 ≤ n ≤ 300 , 000 , 0 ≤ a i < n ) (1≤n≤300,000,0≤a_i<n) (1n300,000,0ai<n)
题解:观察题目中给的样例: 1 2 1 2 1 1\ 2\ 1\ 2\ 1 1 2 1 2 1,第 1 1 1个位置的 1 1 1和第 3 3 3个位置的 1 1 1中间夹了一个 2 2 2
1 1 1个位置的 1 1 1和第 5 5 5个位置的 1 1 1之间夹了两个 2 2 2;第 2 2 2个位置的 2 2 2和第 4 4 4个位置的 2 2 2之间夹了 1 1 1 1 1 1;第 3 3 3个位置的 1 1 1和第 5 5 5个位置的 1 1 1中间夹了一个 2 2 2
可以把所有相同的数的下标按顺序放到对应的 v e c t o r vector vector里面。
那么任意一对相同的数之间能够夹的数的个数就等于,两个数的下标之差 - 两个数中间包含的相同数个数。
比如 1 1 1维护的 v e c t o r vector vector 1 3 5 1\ 3 \ 5 1 3 5
原序列的下标 1 1 1和下标 5 5 5之间能夹的数的个数就等于 5 − 1 − ( 3 − 1 ) = 2 5-1-(3-1)=2 51(31)=2
注意题目中的细节, a i a_i ai可能等于 0 0 0
代码

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const ll N = 3e5 + 10;
ll n, x, mx = 0, ans = 0;
vector<ll> a[N];int main() {cin >> n;for (int i = 1; i <= n; i++) {cin >> x;mx = max(mx, x);a[x].push_back(i);}for (int k = 0; k <= mx; k++) {for (int i = 0; i < a[k].size(); i++) {for (int j = i + 1; j < a[k].size(); j++) {// 两个相同的数下标距离差-两个中间包含的相同数个数ans += (a[k][j] - a[k][i] - (j - i));}}}cout << ans << endl;return 0;
}

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

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

相关文章

Python数据可视化和处理常用库(如Matplotlib、Seaborn)

Python是一种功能强大的编程语言&#xff0c;拥有许多用于数据可视化和处理的常用库。其中&#xff0c;Matplotlib和Seaborn是两个非常受欢迎的库&#xff0c;它们提供了丰富的功能和灵活的绘图选项。下面是一些关于这两个库的博文&#xff0c;可以帮助你更好地了解它们的使用方…

深入理解单实例设计模式:构建高效且可靠的应用

在软件工程领域&#xff0c;单实例&#xff08;Singleton&#xff09;设计模式是一种确保类只有一个实例并提供一个全局访问点的设计模式。这个概念在需要控制访问共享资源或者在整个应用中维护一致状态的场景下特别有用。本文将详细探讨单实例模式的实现、应用及其优缺点。 目…

2024华中杯数学建模挑战赛选题建议及各题思路来啦!

大家好呀&#xff0c;华中杯数学建模开始了&#xff0c;来说一下初步的选题建议吧&#xff1a; 首先定下主基调&#xff0c; 本次华中杯推荐选择C题目。难度方面A&#xff1e;B&#xff1e;C&#xff0c;A是优化类题目&#xff0c;难度较高&#xff0c;建议参考23国赛A优秀论…

【方案探讨】 出现java.io.IOException解决方法

出现java.io.IOException解决方法 解决问题的博客&#xff1a;探索新思路&#xff0c;共同成长 &#x1f331;壹、出现背景贰、排查方向叁、场景复现1、放单个大文件2、修改后端请求其他服务器时间3、多次请求多个文件4、单词请求多个文件 肆、解决方案谢谢您的阅读和支持&…

深入探索:Facebook如何重塑社交互动

在当代社会中&#xff0c;社交互动已成为日常生活的核心组成部分。而在众多的社交媒体平台中&#xff0c;Facebook凭借其卓越的用户基础和创新的功能&#xff0c;已经成为了全球最大的社交媒体平台。本文将深入探讨Facebook如何通过其独特的特性和功能&#xff0c;重塑了人们的…

Elasticsearch:使用向量化和 FFI/madvise 加速 Lucene

作者&#xff1a;来自 Elastic Chris Hegarty 在 Lucene 领域&#xff0c;我们一直热切地采用新版本 Java 的功能。这些功能使 Lucene 更接近 JVM 和底层硬件&#xff0c;从而提高了性能和稳定性。这使得 Lucene 保持现代化和具有竞争力。 Lucene 的下一个主要版本&#xff0…

Springboot+Vue线上教学平台赠送配套文档1w字

SpringbootVue线上教学平台赠送配套文档1w字 项目描述 线上教学平台是一个功能丰富的在线教育工具&#xff0c;它为学生、教师和管理员提供了一个集成的学习、交流和管理环境。以下是关于该平台各项功能的简要介绍&#xff1a; 前台门户&#xff1a;前台门户是平台的门面&#…

实战|哈尔滨等保2.0 Linux主机测评过程之身份鉴别

一、身份鉴别 a)应对登录的用户进行身份标识和鉴别&#xff0c;身份标识具有唯一性&#xff0c;身份鉴别信息具有复杂度要求并定期更换。 输入 more /etc/shadow,得知系统所有用户&#xff0c;此语句字段格式有九段。 第一字段&#xff1a;用户名&#xff08;也被称为登录名…

jmeter-while控制器用法

condition中添加while结束循环的条件&#xff0c;以下语句的意思是&#xff0c;当percent等于100时&#xff0c;就跳出while循环继续执行 ${__javaScript("${percent}" ! 100)} 举例&#xff0c;以下方法是getPercent为一个引出的异步接口&#xff0c;该接口的返回包…

java如何实现rabbitmq的消息确认机制和消息持久化机制配置和示例

在Java中&#xff0c;使用RabbitMQ的客户端库&#xff08;通常是AMQP客户端库&#xff0c;如RabbitMQ的Java客户端&#xff09;可以方便地实现消息确认机制和消息持久化机制。以下是如何实现这两个机制的示例。 1、消息确认机制 RabbitMQ支持两种类型的确认&#xff1a;生产者…

Python编程小例子—石头、剪子、布游戏

random库的应用—石头、剪子、布游戏 Random标准库的用法 在Python中&#xff0c;random是一个标准库&#xff0c;提供了生成随机数的功能。以下是一些常见用法&#xff1a; 生成随机整数: import random# 生成指定范围内的随机整数 random_int random.randint(1, 100)生成…

HiveSql中的函数家族(二)

一、窗口函数 1、什么是窗口函数 在 SQL 中&#xff0c;窗口函数&#xff08;Window Functions&#xff09;是一种特殊的函数&#xff0c;它允许在查询结果集的特定窗口&#xff08;通常是一组行&#xff09;上执行聚合、分析和计算操作&#xff0c;而无需聚合整个结果集。窗口…

FTP客户端Transmit 5 for Mac中文激活版

Transmit 5是一款功能强大的Mac FTP客户端软件&#xff0c;它由Panic公司开发&#xff0c;为用户提供简单、高效的文件传输体验。 Transmit 5 for Mac中文激活版下载 Transmit 5支持多种传输协议&#xff0c;如FTP、SFTP、WebDAV和Amazon S3等&#xff0c;满足用户不同的文件传…

【公司UI自动化学习】

公司课程链接&#xff1a;https://l.jd.com/student/project/project.du?project_id697509403 公司的课程&#xff0c;是给一个学习方向。 一、 PC自动化 1&#xff09;什么项目适合 2&#xff09;PC自动化介入时间点 3&#xff09;自动化率&#xff1a; 频繁改动的&…

不需要GPU就可以玩转模型,同时支持本地化部署

简单一款不需要GPU就可以在Win 机器跑的模型&#xff1a;Ollama&#xff1b;用于本地运行和部署大型语言模型&#xff08;LLMs&#xff09;的开源工具 关于Ollama的简要介绍 平台兼容性&#xff1a;Ollama支持多种操作系统&#xff0c;包括macOS、Linux和Windows&#xff0c;…

华为手机无法弹出wifi上网认证页面处理

华为手机无法弹出wifi上网认证页面 连wifi后跳到上图界面卡住&#xff0c;不跳转到单位的上网认证界面。 打开手机的设置应用&#xff0c;点击上面的WLAN选项。 点击上面的更多WLAN设置选项。 关闭WLAN安全检测就可以正常弹出上网认证界面&#xff0c; 正常弹出上网认证界面&a…

C++类和对象 中(六大默认成员函数)

前言 紧接着上一篇文章&#xff0c;接下来我们来认识下类的六大默认成员函数&#xff0c;如下图。之所以叫他默认成员函数&#xff0c;是因为即使我们不写&#xff0c;编译器会默认帮我们写&#xff0c;但只要我们自己显示的写了&#xff0c;编译器就不会帮我们生成对应的成员函…

H3C交换机FTP与TFTP

一、设备作为服务器端 服务器端配置&#xff1a;首先保证服务器和客户端网络联通&#xff0c;开启 FTP 服务&#xff0c;配置访问 FTP 服务器的账号密码权限。 system-view # 登录系统界面 intg1/0/1 …

windows平台编译OpenCV以支持CUDA

一、环境要求 VS 2022社区版点击这里CMake(个人是GUI版本)点击这里OpenCV源码点击这里Opencv-contrib源码点击这里CUDA CUDNN参考这篇文章 个人的工具使用版本工具版本说明vs2019 社区版

第十五届蓝桥杯复盘python大学A组——试题C 数字诗意

思路 数字可以分为 有诗意的数字可以写成 (ij)(j-i1)/2 &#xff08; i、j都是正整数 &#xff09; ij 、j-i1 的奇偶性不同&#xff08;因为i、j都是正整数&#xff09; 因此&#xff0c; 如果一个数是奇数就一定有诗意 eg.312 ,523,734,945… 原因&#xff1a;根据上述分…