补题 Beautiful Triple Pairs 思维题
作者:
多米尼克領主的致意
,
2024-05-21 14:37:39
,
所有人可见
,
阅读 4
复杂度O(nt)
code:
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
typedef pair<int, int>pii;
int t;
int a[N];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> t;
while(t--){
map<pii, int>p1, p2, p3;
map<vector<int>, int>cnt;
int n;
cin >> n;
int ans = 0;
for(int i = 1;i <= n;i++)cin >> a[i];
for(int i = 1;i <= n - 2;i++){
ans += p1[{a[i], a[i + 1]}]++;
ans += p2[{a[i], a[i + 2]}]++;
ans += p3[{a[i + 1], a[i + 2]}]++;
vector<int> v = {a[i], a[i + 1], a[i + 2]};
// cout << v[1] << endl;
ans -= 3 * cnt[v];
cnt[v]++;
}
cout << ans << endl;
}
return 0;
}