首页 > 其他分享 >Codeforces Round 918 (Div

Codeforces Round 918 (Div

时间:2023-12-30 10:11:23浏览次数:39  
标签:int sum cin Codeforces -- 918 using Div include

Codeforces Round 918 (Div. 4)

这是本人打的第一把div4,比赛中AC到了E,算是打cf以来这一个多月的最成绩了,但是div4似乎只有EFG较难,ABC签到题,D是div3签到题。

A. Odd One Out

判断就行

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int a,b,c;
        cin>>a>>b>>c;
        if(a==b)cout<<c<<endl;
        else if(a==c)cout<<b<<endl;
        else cout<<a<<endl;
    }
}

B. Not Quite Latin Square

判断就行

附大佬trick

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        char a[3][3];
        int cnt1=0,cnt2=0,cnt3=0;
        for(int i=0;i<3;i++)
        {
            for(int j=0;j<3;j++)
            {
                cin>>a[i][j];
                if(a[i][j]=='A')
                {
                    cnt1++;
                }
                else if(a[i][j]=='B')cnt2++;
                else if(a[i][j]=='C')cnt3++;
            }
        }
        if(cnt1==2)cout<<'A'<<endl;
        else if(cnt2==2)cout<<'B'<<endl;
        else cout<<'C'<<endl;
    }
}

![e5d3acadca5622a353b92f1a040d8a8](C:\Users\DELL\Documents\WeChat Files\wxid_etyjv251mcu922\FileStorage\Temp\e5d3acadca5622a353b92f1a040d8a8.png)

![68923fa8d47d0b3ca452dabf5190aca](C:\Users\DELL\Documents\WeChat Files\wxid_etyjv251mcu922\FileStorage\Temp\68923fa8d47d0b3ca452dabf5190aca.png)

C. Can I Square?

读懂题意就行,意思是sum(ai)是否为完全平方数

#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        int sum=0;
        int a[n];
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
            sum+=a[i];
        }
        if((int)sqrt(sum)* (int)sqrt(sum)==sum)cout<<"YES\n";
        else cout<<"NO\n";
    }
}

D. Unnatural Language Processing

贪心,以一个词为基准往后枚举第三个词是否为a/e然后依次输出,我加了许多特判,屎山

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        string s;
        cin>>s;
        int p;
        if(n<=3)
        {
            cout<<s<<endl;
            continue;
        }
        else if(n==4)
        {
            cout<<s[0]<<s[1]<<'.'<<s[2]<<s[3]<<endl;
            continue;
        }
        else
        {
            if(s[3]!='a'&&s[3]!='e')cout<<s[0]<<s[1]<<s[2],p=3;
            else cout<<s[0]<<s[1],p=2;
        }
        for(int i=p;i<n;)
        {
            if(i+3==n)
            {
                cout<<'.'<<s[i]<<s[i+1]<<s[i+2]<<"\n";
                break;
            }
            else if(i+2==n)
            {
                cout << '.' << s[i] << s[i + 1] << "\n";
                break;
            }
            else
            {
                if(s[i+3]=='e'||s[i+3]=='a')cout<<'.'<<s[i]<<s[i+1],i+=2;
                else cout<<'.'<<s[i]<<s[i+1]<<s[i+2],i+=3;
            }
        }
    }
}

E. Romantic Glasses

前缀算法,每次的l和r为临界点,实际上就有odd[r]-odd[l]==even[r]-even[l]实际上就是维护当前presum_odd-presum_even然后用个容器来存储就行,赛时用了unordered_map(sb)被成功hack。。。。。

#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
    int t;
    cin >> t;
    while(t--)
    {
        int n;
        cin >> n;
        vector<int> a(n+1);
        int even=0,odd=0;
        map<int,int>mp;
        int flag=0;
        for(int i = 1; i <= n; i++)
        {
            cin >> a[i];
        }
        for(int i=1;i<=n;i++)
        {
            if(i%2==0)
            {
                even+=a[i];
            }
            else
            {
                odd+=a[i];
            }
            mp[odd-even]++;
            if(mp[odd-even]==2||odd-even==0)
            {
                flag=1;
                break;
            }
        }
        if(flag)cout<<"YES\n";
        else cout<<"NO\n";
    }

    return 0;
}

标签:int,sum,cin,Codeforces,--,918,using,Div,include
From: https://www.cnblogs.com/godcy/p/17936084.html

相关文章

  • codeforces刷题(1100):1864B_div1+div2
    B、SwapandReverse跳转原题点击此:该题地址1、题目大意  给你一个字符串和k,你可以对该字符串做一下两个操作:交换\(a_i\)和\(a_{i+2}\)的字符;对\([i,i+k-1]\)这个区间的字符就行反转;问你通过这两个操作后,原字符串所能生成新的字典序最小的字符串是什么。2、题目解......
  • Codeforces 1876G Clubstep.md
    首先考虑暴力的贪心。从\(r\)到\(l\)依次遍历,若\(a_i<x\)则一直进行题目中的操作。正确性是能保证的,因为选后面的\(j\)只能\(+1\),而选\(i\)可以\(+2\),且\(i\)前面的部分都是\(+1\)。考虑转化一下,把对\(i\)进行操作\(k\)次后,\(\forallj\in[1,i),a_j\l......
  • Codeforces Round 918 (Div. 4)赛后总结(前缀和)(set部分用法)
    CodeforcesRound918(Div.4)赛后总结a,b题没啥好说的c题典中典没开longlong一回事,还有判断数a是否为完全平方数直接用sqrt(a)\(^2\)=a的判断就可以d题经典字符串问题首先,我们以一个字符数组的形式存数据。再根据已知cv,cvc两种形式,我们只需要判断c的时候看v是否有用过(可......
  • Codeforces Round 887 (Div. 1)
    CodeforcesRound887(Div.1)A先来个二分。注意到这样一件事:考虑是\(a_i\)失效的最小时间\(t_i\),发现\(t\)有单调性。所以从大到小考虑\(a\),每次相当于将二分的值减去一个值,复杂度\(O(\sumn(\logn+\logk))\)。codeconstintN=2e5+10;intn;llk;lla......
  • Codeforces Round #843 (Div. 2)
    安利一个叫codeforcesbetter的插件  https://greasyfork.org/zh-CN/scripts/465777-codeforces-better今天装了后使用cf体验非常舒适=====A.GardenerandtheCapybaras(easyversion)问字符串s能否切分成3个字符串a、b、c,且满足a<=b&&c<=b或者b>=a&&b>=cs长度<=100,暴力......
  • [Codeforces] CF1538F Interesting Function
    CF1538FInterestingFunction题目传送门题意给定两个正整数\(l,r\)(\(l<r\)),将\(l\)不断加\(1\)直到\(l=r\),求出这一过程中\(l\)发生变化的位数总数。位数变化指:\(l=909\),将\(l+1\)后有\(2\)位数字发生变化。\(l=9\),将\(l+1\)后也有\(2\)位数字发生变......
  • codeforces比赛(1):codeforces 918_div4
    A、OddOneOut跳转原题点击此:A题地址1、题目大意  给你三个数,其中两个是相等的,问你还有一个不相等的数是多少。2、题目解析  直接暴力枚举即可,只要找到两个数相等,那么答案就是另一个数。#include<bits/stdc++.h>usingnamespacestd;intT;inta,b,c;voidsol......
  • Codeforces Round 917 (Div. 2)
    A.LeastProduct存在\(a[i]=0\),\(min=0\),不需要任何操作。负数个数为偶数(包括0),\(min=0\),把任意一个改为\(0\)。负数个数为奇数,\(min=\proda[i]\),不需要任何操作。voidsolve(){ intn; cin>>n; vector<int>b,c,d; for(inti=0;i<n;++i){ in......
  • [Codeforces] CF1536C Diluc and Kaeya
    CF1536CDilucandKaeya题意题目传送门给你一个字符串\(S\),其中只包含'K'或'D'两种字符,要求划分这个字符串使得各部分的\(n(D):n(K)\)相同,其中\(n(D)\)表示\(S\)中字符'D'出现的个数,最大化划分后形成的组数。求出\(S\)的所有前缀中的上述答案。思路注意到,如......
  • codeforces刷题(1100):1901B_div2
    B、ChipandRibbon跳转原题点击此:该题地址1、题目大意  存在一条由n个单元格组成的带子。chip可以做两个操作:1、由\(i\)走到\(i+1\),但是不能走到\(i-1\);2、可以传送到任意位置,包括传送到原地。每到一个单元格,该单元格的数值+1(初始为0)。最开始chip在从第一格开始走起(题......