ABC318-E

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

做法

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

#include<bits/stdc++.h>

using namespace std;

int n;

int a300010;

vector<int> v300010;

int main(){

scanf("%d",&n);

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

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

scanf("%d",&ai);

va\[i].push_back(i);//存下标

mpa\[i]++;

}

long long ans=0;

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

for(int i=1;i<vit-\>first.size();i++){

ans+=1ll*(vit-\>firsti-vit-\>firsti-1-1)*i*(vit-\>first.size()-i);

//(vit-\>firsti-vit-\>firsti-1-1)是不同的j,i是在aj前面ai的个数,(vit-\>first.size()-i)是在aj前面ai的个数

}

}

cout<<ans<<endl;

}

相关推荐
AI玫瑰助手3 分钟前
Python函数:局部变量与全局变量的作用域
开发语言·python·信息可视化
8Qi87 分钟前
LeetCode 208:实现 Trie(前缀树)—— Java 题解 ✅
java·算法·leetcode·二叉树·tire树
吴可可1238 分钟前
CAD2004二次开发C#可行性解析
算法
字节高级特工11 分钟前
C++11(二) 革新:引用折叠与lambda表达式
java·开发语言·c++·算法
萨小耶11 分钟前
[Java学习日记11】聊聊深拷贝和浅拷贝
java·开发语言·学习
xiaoshuaishuai813 分钟前
C# AvaloniaUI‌的IValueConverter
开发语言·c#
碎碎念_49215 分钟前
”二分“高频题型总结:最小最大值、最大最小值、满足条件最小 / 最大
算法·二分
罗超驿25 分钟前
14.LeetCode 438 题解:滑动窗口+哈希表找所有字母异位词
java·算法·leetcode
白驹笙鸣26 分钟前
STL allocator作用
开发语言·c++
小小编程路27 分钟前
C++ STL 原理与性能
开发语言·c++