zoukankan      html  css  js  c++  java
  • AtCoder Beginner Contest 177

    比赛链接:https://atcoder.jp/contests/abc177/tasks

    A - Don't be late

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        int d, t, s; 
        cin >> d >> t >> s;
        cout << (t * s >= d ? "Yes" : "No") << "
    ";
    }

    B - Substring

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        string s, t;
        cin >> s >> t;
        int ans = INT_MAX;
        for (int i = 0; i + t.size() <= s.size(); i++) {
            int change = 0;
            for (int j = 0; j < t.size(); j++)
                if (s[i + j] != t[j]) 
                    ++change;
            ans = min(ans, change);
        }
        cout << ans << "
    ";
    }

    C - Sum of product of pairs

    #include <bits/stdc++.h>
    using namespace std;
    constexpr int mod = 1e9 + 7;
    int main() {
        int n;
        cin >> n;
        vector<int> a(n);
        for (int i = 0; i < n; i++)
            cin >> a[i];
        vector<long long> pref(n);
        for (int i = 0; i < n; i++) {
            if (i == 0) pref[i] = a[i];
            else pref[i] = pref[i - 1] + a[i];
        }
        long long ans = 0;
        for (int i = 0; i < n; i++) {
            ans += a[i] * ((pref[n - 1] - pref[i]) % mod) % mod;
            ans %= mod;
        }
        cout << ans << "
    ";
    }

    D - Friends

    原题hdu 1856

    #include <bits/stdc++.h>
    using namespace std;
    constexpr int N = 2e5 + 100;
    
    int fa[N], son_num[N];
    
    int Find(int x) {
        if (fa[x] == x) return fa[x];
        else return fa[x] = Find(fa[x]);
    }
    
    void Union(int x, int y) {
        x = Find(x);
        y = Find(y);
        if (x != y) {
            fa[y] = x;
            son_num[x] += son_num[y];
        }
    }
    
    void Init() {
        for (int i = 0; i < N; i++) {
            fa[i] = i;
            son_num[i] = 1;
        }
    }
    
    int main() {
        Init();
        int n, m;
        cin >> n >> m;
        for (int i = 0; i < m; i++) {
            int x, y;
            cin >> x >> y;
            Union(x, y);
        }
        cout << *max_element(son_num, son_num + N) << "
    ";
    }

    E - Coprime

    #include <bits/stdc++.h>
    using namespace std;
    constexpr int N = 1e6 + 100;
    
    int p[N];
    
    void init() {
        for (int i = 2; i < N; i++) {
            if (p[i]) continue;
            for (int j = i; j < N; j += i) {
                p[j] = i;
            }
        }
    }
    
    int main() {
        init();
        int n;
        cin >> n;
        vector<int> a(n);
        for (int i = 0; i < n; i++)
            cin >> a[i];
        vector<set<int>> div(n);
        for (int i = 0; i < n; i++) {
            for (int j = a[i]; p[j] != 0; j /= p[j]) {
                div[i].insert(p[j]);
            }
        }
        bool pairwise = true;
        map<int, int> cnt;
        for (int i = 0; i < n; i++) {
            for (const auto &x : div[i]) {
                if (++cnt[x] >= 2)
                    pairwise = false;
            }
        }
        bool setwise = false;
        int gcd = 0;
        for (int i = 0; i < n; i++)
            gcd = __gcd(gcd, a[i]);
        if (gcd == 1) 
            setwise = true;
        if (pairwise)
            cout << "pairwise coprime" << "
    ";
        else if (setwise)
            cout << "setwise coprime" << "
    ";
        else
            cout << "not coprime" << "
    ";
    }
  • 相关阅读:
    Hadoop学习笔记
    Hadoop学习笔记 -伪分布式
    SSH 连接报错总结
    Hadoop学习笔记
    Trie 前缀树/字典树
    解数独(Leetcode-37 / HDU-1426)/回溯/状态压缩
    MyBatis 多表关联查询
    python_37期自动化【lemon】
    api课堂笔记_day14
    api课堂笔记_day12&day13
  • 原文地址:https://www.cnblogs.com/Kanoon/p/13583540.html
Copyright © 2011-2022 走看看