zoukankan      html  css  js  c++  java
  • CF1365F Swaps Again(思维)

    观察到如果两个位置是对称的,那么他们永远是对称的,这种输出yes和no并且没啥其他性质的,看和猜结论比较有用

    因此只要把对称位置的变成一组,比较两个数组的所有组是否相等,如果相等就可以

    具体证明可以看官方题解

    #include<iostream>
    #include<algorithm>
    #include<stack>
    #include<vector>
    #include<cstring>
    #include<set>
    #include<map>
    using namespace std;
    typedef long long ll;
    const int N=3e5+10;
    const int inf=0x3f3f3f3f;
    int a[N],b[N];
    pair<int,int> x[N];
    pair<int,int> y[N];
    bool cmp(pair<int,int> a,pair<int,int> b){
        if(a.first==b.first){
            return a.second<b.second;
        }
        return a.first<b.first;
    }
    int main(){
        ios::sync_with_stdio(false);
        int t;
        cin>>t;
        while(t--){
            int n;
            cin>>n;
            int i;
            for(i=1;i<=n;i++)
                cin>>a[i];
            for(i=1;i<=n;i++)
                cin>>b[i];
            if(n%2&&a[n/2+1]!=b[n/2+1]){
                    cout<<"NO"<<endl;
                    continue;
            }
            else{
                for(i=1;i<=n/2;i++){
                    x[i].first=a[i];
                    x[i].second=a[n-i+1];
                    if(x[i].first>x[i].second)
                        swap(x[i].first,x[i].second);
                    y[i].first=b[i];
                    y[i].second=b[n-i+1];
                    if(y[i].first>y[i].second)
                        swap(y[i].first,y[i].second);
                }
                sort(x+1,x+1+n/2,cmp);
                sort(y+1,y+1+n/2,cmp);
                int sign=0;
                for(i=1;i<=n/2;i++){
                    if(x[i].first==y[i].first&&x[i].second==y[i].second)
                        continue;
                    sign=1;
                    break;
                }
                if(sign==1){
                    cout<<"NO"<<endl;
                }
                else{
                    cout<<"YES"<<endl;
                }
            }
        }
    }
    View Code
  • 相关阅读:
    LoaRunner性能测试系统学习教程:日志文件分析(8)
    LoaRunner性能测试系统学习教程:MPM相关参数(7)
    LoaRunner性能测试系统学习教程:MPM调优(6)
    响应器
    分页器
    权限组件、频率组件
    drf视图组件、认证组件
    drf序列化组件
    RESTful
    IO操作、PIL使用、Django的admin操作
  • 原文地址:https://www.cnblogs.com/ctyakwf/p/13279368.html
Copyright © 2011-2022 走看看