18 条题解

  • 4
    @ 2022-11-11 19:23:25

    显然,这题也能通过高效的 unordered_set 水过,其单次操作的时间复杂度均摊是 O(1)O(1) 的。

    #include <bits/stdc++.h>
    using namespace std;
    
    #define endl '\n'
    #define int long long
    #define lson (p << 1)
    #define rson ((p << 1) | 1)
    #define mid ((l + r) >> 1)
    
    const int MAXN = 1e6 + 5;
    unordered_set<string> s;
    string t;
    int cnt = 0, n;
    
    signed main(void) {
        ios::sync_with_stdio(false);
        cin.tie(0);
        cin >> n;
        for (int i = 1; i <= n; ++i) {
            cin >> t;
            if (s.find(t) == s.end()) {
                ++cnt;
                s.insert(t);
            }
        }
        cout << cnt << endl;
        return 0;
    }
    

    信息

    ID
    180
    时间
    300~1000ms
    内存
    1024MiB
    难度
    3
    标签
    递交数
    2750
    已通过
    368
    上传者