Codeforces Round #833 (Div. 2)

酶和ATP 2022年11月13日 473次浏览

A. The Ultimate Square

#include <bits/stdc++.h>
#define endl '\n'
#define int long long
// #define x first
// #define y second
using namespace std;

// typedef pair<int, int> PII;

void solve() {
    int n;
    cin >> n;
    cout << (int)ceil(1.0 * n / 2) << endl;
}

signed main() {
    ios::sync_with_stdio(false), cin.tie(nullptr);
    int _ = 1;
    cin >> _;
    while (_--) {
        solve();
    }
    return 0;
}

B. Diverse Substrings

#include <bits/stdc++.h>
#define endl '\n'
#define int long long
// #define x first
// #define y second
using namespace std;

// typedef pair<int, int> PII;

void solve() {
    int n;
    cin >> n;
    string s;
    cin >> s;
    int ans = 0;
    for (int i = 0; i < n; i++) {
        vector<int> ap(10, 0);  // 出现个数
        int maxe = -1;          // 最大字符
        int cnt = 0;
        for (int j = i; j < n; j++) {
            int x = s[j] - '0';
            if (ap[x] == 0) cnt++;
            ap[x]++;
            maxe = max(maxe, ap[x]);
            if (maxe <= cnt) {
                ans++;
            } else {
                if (cnt == 10) break;
            }
        }
    }
    cout << ans << endl;
}

signed main() {
    ios::sync_with_stdio(false), cin.tie(nullptr);
    int _ = 1;
    cin >> _;
    while (_--) {
        solve();
    }
    return 0;
}