首页 > 其他分享 >Codeforces Round 891 (Div. 3)

Codeforces Round 891 (Div. 3)

时间:2023-08-08 20:34:22浏览次数:39  
标签:node 891 int LL Codeforces cin -- num Div

Codeforces Round 881 (Div. 3)

A.Array Coloring

题目大意

link

思路

简单判断数组和的奇偶性即可(小学数学)

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n;
        cin >> n;
        int sum = 0, x;
        for (int i = 1; i <= n; i++)
        {
            cin >> x;
            sum += x;
        }
        if (sum % 2 == 0)
            puts("YES");
        else
            puts("NO");
    }
    return 0;
}

Maximum Rounding

题目大意

遍历一个数字的每一位,判断在哪一位四舍五入值最大。

思路

按照题意模拟即可(比赛时被 HACK 了)

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        string s;
        cin >> s;
        s = '0' + s;
        int lst = s.size() - 1;
        for (int i = s.size() - 1; i >= 0; i--)
        {
            if (s[i] >= '5')
            {
                for (int j = i; j <= lst; j++)
                    s[j] = '0';
                lst = i - 1;
                if (s[i - 1] != '9')
                    s[i - 1] += 1;
                else
                {
                    while (s[i - 1] != '9')
                        s[i - 1] = '0', i--;
                    s[i - 1]++;
                }
            }
        }
        if (s[0] != '0')
            cout << s << endl;
        else
            cout << s.substr(1) << endl;
    }
    return 0;
}

C.Assembly via Minimums

题目大意

![image-20230808200812873](C:\Users\Jianfan Li\AppData\Roaming\Typora\typora-user-images\image-20230808200812873.png)

思路

假设 \(a\) 有序,对 \(b\) 也进行排序,这是不影响结果的。

设 \(a\) 中最小值为 \(x\),则 \(x\) 在排序后的 \(b\) 中会连续出现 \(n-1\) 次,设次小值为 \(x_1\) ,在排序后的 \(i\) 会出现 \(n-2\) 次(除了 \(x\) 其他都是本身) ,以此类推,第 \(n-1\) 个数为 \(x\),第 \(n-1+n-2\) 个数为 \(x_1\) ...

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1e6 + 10;
LL a[N], b[N];
int n;
int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n;
        cin >> n;
        for (int i = 1; i <= n * (n - 1) / 2; i++)
            cin >> a[i];
        sort(a + 1, a + n * (n - 1) / 2 + 1);

        int cnt = 0, idx = 0;
        for (int i = n - 1; i; i--)
        {
            cnt += i;
            b[++idx] = a[cnt];
        }
        for (int i = 1; i < n; i++)
            cout << b[i] << ' ';
        cout << b[n - 1] << endl;
    }
    return 0;
}

D - Strong Vertices

题目大意

![image-20230808201625409](C:\Users\Jianfan Li\AppData\Roaming\Typora\typora-user-images\image-20230808201625409.png)

思路

将题目中的式移向得

\[a_u-b_u≥b_u-b_v \]

当 \(a_u-b_u\) 最大时才会向其他所有顶点连边,所以只需要找最大 \(a_u-b_u\) 即可

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 2e5 + 5;

struct node
{
    LL id, num;
} a[N];

bool cmp(node a, node b)
{
    return a.id < b.id;
}

bool cmp2(node a, node b)
{
    return a.num > b.num;
}

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n;
        cin >> n;
        LL maxx = -0x3f3f3f3f3f3f;
        for (int i = 1; i <= n; i++)
            cin >> a[i].num;
        for (int i = 1; i <= n; i++)
        {
            int x;
            cin >> x;
            a[i].num -= x;
            a[i].id = i;
            maxx = max(maxx, a[i].num);
        }
        sort(a + 1, a + n + 1, cmp2);
        int ans = 0;
        for (int i = 1; i <= n; i++)
            ans += (a[i].num == maxx);
        cout << ans << endl;
        sort(a + 1, ans + a + 1, cmp);
        for (int i = 1; i <= ans; i++)
            cout << a[i].id << ' ';
        cout << endl;
    }
    return 0;
}

标签:node,891,int,LL,Codeforces,cin,--,num,Div
From: https://www.cnblogs.com/ljfyyds/p/17615305.html

相关文章

  • UESTC 2023 Summer Training #23 for div2/2022-2023 ACM-ICPC Latin American Region
    Preface今天这场签到巨多,和昨天那场形成了鲜明的对比但可惜后盘的时候我划了太久的水,最后接了B题然后没调出来成为战俘最气的是赛后发现原来是没注意输出格式,本来可以说一遍过的题结果没写过,属实可惜,就当长教训了以后一定要尤其注意输入输出格式A.AskingforMoneyORZ徐......
  • Codeforces Round 891 (Div. 3)
    CodeforcesRound891(Div.3)A-ArrayColoring思路:需要两部分的奇偶相同,判断奇数的个数是否为偶数即可#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong//#defineint__int128#definedoublelongdoubletypedefpair<int,int>PII;typedefpair......
  • CodeForces CF1846G 题解
    CodeForcesCF1846G题解CodeForces题目链接洛谷题目链接标准答案是状压之后,转化成Dijkstra算法跑最短路。我这里提供一个不一样的思路。题意简述主人公得了病,有部分类型的症状。所有类型症状共有\(n\)种,用长为\(n\)的01串表示是否有那种症状。共有\(m\)种药,吃......
  • Codeforces 890-891的一些题目的反思
    和atcoder一起出交互题是吧。D题回复逆序对个数,对于[L,R-1]和[L,R],如果R是最大值,那么对逆序对个数无影响。这样来确认某个数是不是最大的,然后递归扩展到整个区间这里看到逆序对,要想到归并排序、分治、递归、区间合并。。。。。查看代码//Problem:D.MoreWrong//Contest......
  • B. Longest Divisors Interval
    link需要思考一下如果这个题能做,那么肯定有一种比较可行的做法。如果\([l,r]\)是可行的,那么就意味着\([1,r-l+1]\)是可行的这是显然的,显然后者的每一个数在前者中必然有对应的倍数,所以等效。这样从1开始找就行了。#include<cstdio>#include<iostream>#include<cstring>#i......
  • vue问题:不存在div或者多个div
    <el-radiov-model="radio"label="1">备选项</el-radio><el-radiov-model="radio"label="2">备选项</el-radio>报错:Errorscompilingtemplate:Componenttemplateshouldcontainexactlyonerootelement.......
  • codeforces 891 (div3)857E - Power of Points
    E.点的力量每个测试限时2秒每个测试限制内存为256兆字节输入以标准格式输入输出以标准格式输出给定n个具有整数坐标x1,…xn的点,这些点位于数线上。对于某个整数s,我们构建段[s,x1],[s,x2],…,[s,xn]。注意,如果xi<s,则段将类似于[xi,s]。段[a,b]覆盖了所有整数点a,a+1,a+2,…,b。......
  • 【CF】#844 div1 T1~T4复健
    高考结束,我的人生即将迈入新的阶段。记得哪位退役学长说的话,尽管努力不够,天赋不足,但走进大学校园,我仍将拾起键盘。所以打了场cf比赛,没想到前几道题都不涉及算法板子,但断断续续做了好几天也才做了四个题。T5终于忍不住找了题解,一看是二分图可惜早已忘光,做不出来。前四道题不涉及......
  • Codeforces 1857D:Strong Vertices 与图论无关的出度最大统计
    1857D.StrongVerticesDescription:给定两个长度均为\(n\)的数组\(a\)和\(b\)(编号\(1\)~\(n\)),如果\(a_u-a_v\geqb_u-b_v\)\((u\neqv)\),那么从\(u\)到\(v\)建立一条有向边。"Strong"定义为:一个点\(V\)可以经过有向图中合法的通路到达其他所有的点。请求解出"......
  • Codeforces Round 891 (Div. 3)
    A.ArrayColoring题意给你\(n(2\len\le50)\)个数,你可以把每个数染成红或蓝,求是否有方案满足每个颜色都有数而且两种颜色每个颜色内所有数之和的奇偶性相同。多组数据\((t\le1000)\)。例如:\([1,2,4,3,2,3,5,4]\)染成\([\color{blue}1,\color{blue}2,\color{red}4,\color{......