首页 > 其他分享 > Codeforces Round 888 (Div. 3)记录

Codeforces Round 888 (Div. 3)记录

时间:2023-07-27 21:12:12浏览次数:47  
标签:const int 888 Codeforces long cin -- Div include

A. Escalator Conversations

#include<cstdio>
#include<algorithm>
#include<cmath>
#include<vector>
#include<string.h>
#include<set>
#include<string>
#include<map>
#include<iostream>
#include<queue>
#include<unordered_set>
#include<stdlib.h>
#include<sstream>
#include<iomanip>
typedef long long ll;
using namespace std;
const int Mod=1e9+7;
const int N=2e5+7;
int T;
int n,q,m;
int main()
{
    cin >> T;
    while(T--){
        int k,H,h[55];
        cin>>n>>m>>k>>H;
        int cnt=0;
        for(int i=0;i<n;i++)
        {
            int dif=0;
            cin>>h[i];
            dif=abs(H-h[i]);
            if(dif%k==0&&dif/k<m&&H!=h[i])
            {
                cnt++;
            }
        }
        cout<<cnt<<endl;
    }
    system("pause");
    return 0;
}

B - Parity Sort

#include<cstdio>
#include<algorithm>
#include<cmath>
#include<vector>
#include<string.h>
#include<set>
#include<string>
#include<map>
#include<iostream>
#include<queue>
#include<unordered_set>
#include<stdlib.h>
#include<sstream>
#include<iomanip>
typedef long long ll;
using namespace std;
const int Mod=1e9+7;
const int N=2e5+7;
int T;
int n,q,m;
int main()
{
    cin >> T;
    while(T--){
       cin>>n;
       int a[N],b[N];
       map<int,int> mp;
       for(int i=0;i<n;i++)
       {
            cin>>a[i];
            b[i] = a[i];
            mp[a[i]]=i;
       }
       sort(a,a+n);
       int flag=0;
       for(int i=0;i<n;i++)
       {
            if(b[i]!=a[i])
            {
                int f=mp[a[i]];
                
                if((b[i]%2==0&&b[f]%2==0)||(b[i]%2!=0&&b[f]%2!=0))
                {

                }
                else
                {
                    cout<<"NO"<<endl;
                    flag=1;
                    break;
                }
            }
       }
       if(flag==0)
       {
        cout<<"YES"<<endl;
       }
    }
    system("pause");
    return 0;
}

C - Tiles Comeback

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N = 2e5 + 7;
int T;
int n, q, m;
int main()
{
    int x,x1,x2;
    cin >> T;
    while (T--)
    {
        int k;
        cin >> n >> k;
        int c[N];
        map<int, int> ha;
        for (int i = 1; i <= n; i++)
        {
            cin >> c[i];
            ha[c[i]]++;
        }
        if(c[1] == c[n]){
            int flag1 = 0;
            for(int i = 1;i <= ha[c[1]];i++){
                if(i >= k){
                    if(i % k == 0){
                        flag1 = 1;
                        cout << "YES" << endl;
                        break;
                    }
                }
            }
            if(!flag1)cout << "NO" << endl;
        }
        else{
            if(ha[c[1]] < k || ha[c[n]] < k){
                cout << "NO" << endl;
            }
            else{
                int sum = 0,i = 1;
                while(sum < k && i <= n){
                    if(c[i] == c[1]){
                        sum++;
                    }
                    i++;
                }
                int sum1 = 0,i1 = n;
                while(sum1 < k && i1 >= i){
                    if(c[i1] == c[n]){
                        sum1++;
                    }
                    i1--;
                }
                if(sum1 >= k && sum >= k){
                    cout << "YES" << endl;
                }
                else cout << "NO" << endl;
            }
        }
    }
    system("pause");
    return 0;
}

 

标签:const,int,888,Codeforces,long,cin,--,Div,include
From: https://www.cnblogs.com/oliverfg/p/17586027.html

相关文章

  • Error: listen EADDRINUSE: address already in use 127.0.0.1:8888
    编译打包报错,Error:listenEADDRINUSE:addressalreadyinuse127.0.0.1:8888查询原因是端口被占用,关闭占用的端口号即可。具体怎么关闭端口,可以参考网上其他资料:https://blog.csdn.net/m0_55930697/article/details/118026084......
  • Codeforces Round 618 (Div. 2)
    CodeforcesRound618(Div.2)https://codeforces.com/contest/1300A.Non-zero要求和,积都不为0,则先把全部0操作一次,然后再check和是否为0,是的话再对任意数操作一次即可。#include<bits/stdc++.h>usingnamespacestd;constintN=105;intn,x,s,ans;voidsolve......
  • Codeforces Round 888 (Div. 3) A-F
    A.EscalatorConversations题意:有一个扶梯,有n个人要站扶梯,这个扶梯有m个位置,第i个位置的高度为i*k,Vlad高H,第i个人高h[i],当且仅当两个人所处的位置高度加上自身身高刚好相同时才能谈话,问能和Vlad谈话的有多少人。Solution直接计算即可voidsolve(){ intn,m,k,H;cin>>n>>m>>......
  • Codeforces Round 888 (Div. 3) - D
    目录D.PrefixPermutationSumsCodeforcesRound888(Div.3)赛后摘记D.PrefixPermutationSums题意判断给定的长为n-1数组,是否为某个1~n的序列的前缀和数组漏了一个数形成的数组思路就是判断能否变回去,毫无感情的判断机器法一:统计给定前缀和数组的差分数组得......
  • Codeforces Round 888 (Div. 3)
    A.EscalatorConversations#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){intn,m,k,H;cin>>n>>m>>k>>H;vector<int>h(n);intres=0;for(inth,......
  • Codeforces Round 888 (Div. 3)F(异或小技巧)
    题意:给你一个数组长度为n的a数组,要求a数组的值为非负整数,再给你一个k,a的值全小于2的k次方,找到一个小于a的k次方的值x,再从a中找到两个值,让他们(ai⊕x)&(aj⊕x)最小结论:n个数的最小异或对的答案就是排序后最小的相邻异或和思路:(ai⊕x)&(aj⊕x)的最高位为1,可以把它先转换成二进制......
  • 【题解】Educational Codeforces Round 150(CF1841)
    赛时过了A-E,然后就开摆了,为什么感觉C那么无厘头[发怒][发怒]排名:25thA.GamewithBoard题目描述:Alice和Bob玩游戏,他们有一块黑板。最初,有\(n\)个整数\(1\)。Alice和Bob轮流操作,Alice先手。轮到时,玩家必须在棋盘上选择几个(至少两个)相等的整数,擦除它们,然后写一个......
  • Codeforces 1852A Ntarsis' Set 题解
    题目传送门:Codeforces1852ANtarsis'Set题意给定一个集合,里面初始有\(1,2,3...10^{1000}\),告诉你每天会拿掉其中的第\(a_1,a_2,a_3...a_n\)个,询问这样的\(k\)天之后剩下的最小的数是多少。分析思考如果\(x\)在这天没有被删掉,那么哪些被删掉的位置会对它产生什么......
  • Codeforces Round 886 (Div. 4) D - H
    D.BalancedRoundProblem-D-Codeforces双指针,贪心题意:​ 给出\(n\)个数,我们可以删去其中若干个数,使得删完后的数重新排列任意相邻的数之差绝对值不超过\(k\),输出最小删去数的个数思路:​ 很明显可以先将给出的数组进行排序。对于排序后的数组,我们可以将其分为若干个相邻......
  • CodeForces 725F Family Photos
    洛谷传送门CF传送门不错的贪心题。我们考虑一对照片只有一张的情况。那么先后手会按照\(a+b\)降序取。因为若\(a_i+b_i\gea_j+b_j\),变形得\(a_i-b_j\gea_j-b_i\)且\(b_i-a_j\geb_j-a_i\),所以对于双方先取\(i\)一定是不劣的。回到原题,如果\(a_{i......