Codeforces Round #638 (Div. 2)

https://codeforces.com/contest/1348

A - Phoenix and Balance

最大的那个一个顶全部,所以它绝对是配最小的那些。

B - Phoenix and Beauty

把每个元素扩充到 (k) 个一组,同时这一组元素是原来的所有种类的去重结果。

int a[105];
int b[105];

void TestCase() {
    int n, k;
    scanf("%d%d", &n, &k);
    for(int i = 1; i <= n; ++i) {
        scanf("%d", &a[i]);
        b[i] = a[i];
    }
    sort(b + 1, b + 1 + n);
    int m = unique(b + 1, b + 1 + n) - (b + 1);
    if(m > k) {
        puts("-1");
        return;
    }
    while(m < k)
        b[++m] = 1;
    printf("%d
", n * k);
    for(int i = 1; i <= n; ++i) {
        for(int j = 1; j <= k; ++j)
            printf("%d ", b[j]);
    }
    puts("");
    return;
}

*C - Phoenix and Distribution

题意:给一个大小为 (n) 的小写字母的可重字符集,要求分成 (k) 个字符串,并最小化字典序最大的字符串。

题解:逐个枚举。

原文地址:https://www.cnblogs.com/KisekiPurin2019/p/12817939.html