cf1110E 思维

Posted zsben991126

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cf1110E 思维相关的知识,希望对你有一定的参考价值。

/*
Ci‘=Ci+1 + Ci-1 -Ci
Ci+1 - Ci‘ = Ci - Ci-1
Ci‘ - Ci-1 = Ci+1 - Ci;
即求一次Ci’等价于交换Ci和Ci-1 与 Ci+1和Ci的差值
那么只要差值排序后的数组是相同的即可 
*/
#include<bits/stdc++.h>
using namespace std;
#define maxn 100005
vector<int>v1,v2;
int a[maxn],b[maxn],n; 
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    for(int i=1;i<n;i++)
        v1.push_back(a[i+1]-a[i]),v2.push_back(b[i+1]-b[i]);
    sort(v1.begin(),v1.end());
    sort(v2.begin(),v2.end());
    if(a[0]==b[0] && a[n]==b[n] && v1==v2)puts("Yes");
    else printf("No");    
} 

 

以上是关于cf1110E 思维的主要内容,如果未能解决你的问题,请参考以下文章

CF1110E Magic Stones - 差分

CF1110E Magic Stones

CF1110E Magic Stones

[CF1110E]Magic Stones

AGC006C & CF1110E

Magic Stones CodeForces - 1110E (思维+差分)