ABC318-E

挺有意思的一题,就当积累一下吧。

做法

枚举i和k会超时,那就只枚举j。

#include<bits/stdc++.h>

using namespace std;

int n;

int a[300010];

vector<int> v[300010];

int main(){

scanf("%d",&n);

map<int,int> mp;//数的种类

for(int i=1;i<=n;i++){

scanf("%d",&a[i]);

v[a[i]].push_back(i);//存下标

mp[a[i]]++;

}

long long ans=0;

for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++){

for(int i=1;i<v[it->first].size();i++){

ans+=1ll*(v[it->first][i]-v[it->first][i-1]-1)*i*(v[it->first].size()-i);

//(v[it->first][i]-v[it->first][i-1]-1)是不同的j,i是在a[j]前面a[i]的个数,(v[it->first].size()-i)是在a[j]前面a[i]的个数

}

}

cout<<ans<<endl;

}

相关推荐
潲爺几秒前
Java笔记总结
java·开发语言·笔记·学习
菜的不敢吱声2 分钟前
swift学习第一天
开发语言·学习·swift
智驱力人工智能3 分钟前
在安全与尊严之间 特殊人员离岗检测系统的技术实现与伦理实践 高风险人员脱岗预警 人员离岗实时合规检测 监狱囚犯脱岗行为AI分析方案
人工智能·深度学习·opencv·算法·目标检测·cnn·边缘计算
培林将军5 分钟前
C语言指针
c语言·开发语言·算法
梵尔纳多7 分钟前
绘制一个三角形
c++·图形渲染·opengl
云栖梦泽7 分钟前
鸿蒙分布式应用全链路性能调优实战
开发语言·鸿蒙系统
adam_life8 分钟前
P3375 【模板】KMP
算法
jllllyuz11 分钟前
基于差分进化算法优化神经网络的完整实现与解析
人工智能·神经网络·算法
yongui4783413 分钟前
基于卡尔曼滤波的电池荷电状态(SOC)估计的MATLAB实现
开发语言·算法·matlab
有一个好名字13 分钟前
力扣-盛最多水的容器
算法·leetcode·职场和发展