KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)(AB水题,C思维,D搜索,E DP)

补题链接:Here

A - Century

整除 200 并且判断能否整除完全

B - 200th ABC-200

按题意即可

C - Ringo's Favorite Numbers 2

求出 AiAj 为 200 的倍数的个数,转化为贡献值即可

using ll = long long;
void solve() {
    ll ans = 0;
    int n, a[210] = {0};
    cin >> n;
    for (ll i = 1, x; i <= n; ++i) {
        cin >> x;
        x %= 200;
        ans += a[x];
        a[x]++;
    }
    cout << ans << '\n';
}

D - Happy Birthday! 2

搜索情况

int n, a[205];
vector<int> c[205], b;
void dfs(int x, int sum) {
    if (c[sum].size() && b != c[sum]) {
        cout << "Yes\n";
        cout << b.size() << ' ';
        for (int i : b) cout << i << ' ';
        cout << "\n";
        cout << c[sum].size() << ' ';
        for (int i : c[sum]) cout << i << ' ';
        cout << "\n";
        exit(0);
    } else if (b.size())
        c[sum] = b;
    if (x == n + 1) return;
    dfs(x + 1, sum);
    b.push_back(x), dfs(x + 1, (sum + a[x]) % 200), b.pop_back();
}

void solve() {
    cin >> n;
    for (int i = 1; i <= n; ++i) cin >> a[i];
    dfs(1, 0);
    cout << "No\n";
}

E - Patisserie ABC 2

DP

using ll    = long long;
const int N = 3e6 + 10;
ll f[4][N];
void solve() {
    ll n, k;
    cin >> n >> k;
    f[0][0] = 1;
    for (int i = 1; i <= 3; i++)
        for (int j = 1; j <= 3 * n; j++)
            f[i][j] = f[i][j - 1] + f[i - 1][j - 1] - (j > n ? f[i - 1][j - 1 - n] : 0);

    ll s;
    for (s = 3; k > f[3][s]; s++)
        k -= f[3][s];

    for (int i = 2, v; i >= 1; i--) {
        for (v = 1; k > f[i][s - v]; v++)
            k -= f[i][s - v];
        cout << v << " ";
        s -= v;
    }
    cout << s << "\n";
}
posted @   RioTian  阅读(131)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 全程不用写代码,我用AI程序员写了一个飞机大战
历史上的今天:
2020-05-11 C 与 C++ 区别
点击右上角即可分享
微信分享提示

📖目录