Codeforces #639 (div 1) 做题记录

Posted uuzlove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces #639 (div 1) 做题记录相关的知识,希望对你有一定的参考价值。

随便写点题,按时间倒序随便刷刷

A.

如果有两个相等可以列等式(i+a_{i mod n}=j+a_{j mod n})

令(i=k_1n+p,j=k_2n+q),则有(k_1n+p+a_p=k_2n+q+a_q)

即存在(p,q),(p+a_p=q+a_q)在(mod n)意义下相等,这个直接判就行了

技术图片
 1 #include<bits/stdc++.h>
 2 #define maxn 200005
 3 using namespace std;
 4 int T,n;
 5 int a[maxn];
 6 int main()
 7 {
 8     scanf("%d",&T);
 9     while(T--)
10     {
11         scanf("%d",&n);
12         for(int i=0;i<n;++i)scanf("%d",&a[i]);
13         for(int i=0;i<n;++i)a[i]=((a[i]+i)%n+n)%n;
14         sort(a,a+n);
15         bool fl=0;
16         for(int i=1;i<n;++i)if(a[i]==a[i-1])fl=1;
17         if(fl)puts("NO");
18         else puts("YES");
19     }
20 }
View Code

 

以上是关于Codeforces #639 (div 1) 做题记录的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces #639 (div 1) 做题记录

Codeforces #639 (div 1) 做题记录

Codeforces Round #639 (Div. 2) A~D

Codeforces Round #639 (Div. 2) A~D

CodeForces Round #639 div2 前三题

CodeForces Round #639 div2 前三题