2023年中國高校計算機大賽-團隊程式設計天梯賽(GPLT)上海理工大學校內選拔賽 (vp + 補題)

Iter-moon發表於2024-05-30

比賽主頁:https://ac.nowcoder.com/acm/contest/52244

A Xor B Problem

思路:

如果i != j代表 (i, j) & (j, i)是兩對,也就是說 如果i == j 代表只有一對, 綜上得出公式cnt[i] * cnt[i]的累加就是我要的答案

Code:

#include<bits/stdc++.h>
    
using namespace std;
typedef long long ll;
const int N = 114515;

int cnt[N];
ll ans;

int main() {
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int n; cin >> n;
    for (int i = 1; i <= n; i++) {
        int x; cin >> x; 
        cnt[x] += 1;
    }
    for (int i = 0; i < N; i++) {
        ans += 1ll * cnt[i] * cnt[i]; 
    }
    cout << ans << '\n';
    return 0;
}

  

相關文章