首页 > 其他分享 >CF--新年场--C

CF--新年场--C

时间:2022-12-31 20:44:51浏览次数:30  
标签:ch 新年 -- CF long int using define

关键

就很神奇的思路呀
如果两个数%x相等,那么他们加上某个数余x为0后,还是余数相等,并且并不互质,如果%x为任何数的都有两个,那么就肯定不会满足条件。
因为怎么样都会有那种两个人相等的情况。所以,必须满足有一个的余数是小于2的才可以。
我当时是一点也不会,还是彭少想出来的。

代码

#include <bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;
using pdd=pair<double,double>;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define TT int _=read();while(_--)
#define int long long
using ll=long long;
const ll inf=1e18;
//#define double long double
#define endl '\n'
const int M=1e6+5;

inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    return x*f;
}

inline void print(int x) {
    if(x<0){putchar('-');x=-x;}
    if(x/10)print(x/10);
    putchar(x%10+'0');
}

int a[M],cnt[100];
//必须要保证每一种的余数,没有全部大于2的
//如果每一种余数都大于2的话,那偏移肯定会有相等的

signed main() {
    TT {
        map<int,int>mp;
        int n=read();
        for(int i=1;i<=n;i++)a[i]=read(),mp[a[i]]++;
        bool flag=1;
        if(mp.size()!=n)flag=0;
        for(int i=2;i<=n;i++) {
            for(int j=1;j<=n;j++)
                cnt[a[j]%i]++;
            bool t=1;
            for(int j=0;j<i;j++) {
                if(cnt[j]<2)t=0;
                cnt[j]=0;
            }
            if(t)flag=0;
        }
        if(flag)cout<<"YES\n";
        else cout<<"NO\n";
    }
    return 0;
}
//依次执行

标签:ch,新年,--,CF,long,int,using,define
From: https://www.cnblogs.com/basicecho/p/17017207.html

相关文章

  • 【CF908E】New Year and Entity Enumeration(观察,结论)
    给定集合\(S'\),考虑其生成集合\(S\)将会是啥样。将\(m\)个位划分成若干个等价类,使得若\(i_1,\cdots,i_k\)在同一等价类,对于任意\(x\inS'\)有\(x\)的第\(i_1,......
  • C#异常没有错误行号的原因
    异常处理是编程中必知必会的重要内容,我们经常使用try-catch来捕获和记录异常信息的原因、位置信息,以便进行排查和解决问题。使用堆栈信息可明确抛出异常具体行号,但有时输出......
  • 02-数组和for循环
    数组数组长度与数组索引的关系数组从下标从0开始,即第一个元素的索引为0第二个元素的索引为1......
  • 递归介绍和利用递归算法求阶乘
    题目  题目:利用递归方法求5的阶乘。  温馨提示:n=5很容易求解,如果n=20呢?20!已经远远走出抄4字节整型范围,所以需要用8字节整型或双精度浮点型来完成算法。算法分析 ......
  • 差分数组 前缀和数组
    小结:1、有数组d=[1,2,3,4,5,6],对d[2]到d[4]之间的所有数加上3,变为d=[1,2,6,7,8,6],那么差分数组也就从[1,1,1,1,1,1]变成了[1,1,4,1,1,-2]  Leetcode刷题笔记——差......
  • 求1+2!+3!+...+20!的和
    题目题目:求1+2!+3!+...+20!的和。算法分析总共两个部分组成,一部分是对每个数通过《利用递归方法求阶乘》中介绍的递归算法求阶乘,一部分是累加求和。显然,第一部分就是直......
  • JAVA经典算法分析
      算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算......
  • Stata学习笔记三
    usedentistsfdasavemydent,replace//replace选项如果新形成文件有同名存在直接覆盖保存为SASXPORT文件,扩展名为.xpttypemydent.xptlistduplicateslistrecom//有一......
  • Stata学习笔记四
    usedentlab,clear//将dentlab.dta读入内存,如果原内存已经打开其他文件直接清除list//+----------------------------------------------------------+//|......
  • ACWING 第 84 场周赛 ABC
    来水一篇博客:)https://www.acwing.com/activity/content/competition/problem_list/2742/难度偏低(三题都cf800的难度),就不写详解了4788.最大数量#include<bits/stdc++......