2023年多校联训NOIP层测试5

2023年多校联训NOIP层测试5

T1 糖果 \(10pts\)


  • 首先考虑一些异或的性质:
    • 归零率:\(a \bigoplus a=0\)
    • 恒等律:\(a \bigoplus 0=a\)
    • 交换律:\(a \bigoplus b=b \bigoplus a\)
    • 结合律: \(a \bigoplus b \bigoplus c=a \bigoplus (b \bigoplus c)=(a \bigoplus b) \bigoplus c\)
    • 自反性(异或的逆运算为它本身): \(a \bigoplus b \bigoplus b=a\)
  • \(sum[i]= \bigoplus \limits_{j=1}^i a_j\) ,进行前缀和优化,然后进行分类讨论:
    • \(sum[n]=0\) ,利用归零率,说明一定可以把这些糖果分成两段,使得每段糖果的美味度相同。
    • \(sum[n] \ne 0\) ,利用归零率和恒等率,若存在一个 \(l,r\) ,满足 \(1\le l<r \le n\) ,且 \(sum[l]=sum[n],sum[r]=0\) ,即 \(\bigoplus \limits_{i=1}^l a_i= \bigoplus \limits_{i=l+1}^r a_i= \bigoplus \limits_{i=r+1}^n a_i\) ,说明可以把这些糖果分成 \([1,l],[l+1,r],[r+1,n]\) 三段,使得每段糖果的美味度相同。
  • 枚举即可,复杂度 \(O(Tn)\)
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define sort stable_sort
    #define endl '\n'
    int a[100010],sum[100010];
    int main()
    {
        int t,n,i,j,k,l,r; 
        cin>>t;
        for(i=1;i<=t;i++)
        {
            cin>>n;
            l=r=0;//初始化
            for(j=1;j<=n;j++)
            {
                cin>>a[j];
                sum[j]=sum[j-1]^a[j];
            }
            if(sum[n]==0)
            {
                cout<<"YES"<<endl;
            }
            else
            {
                for(j=1;j<=n;j++)
                {
                    if(sum[j]==sum[n])
                    {
                        l=j;
                        break;
                    }
                }
                for(j=n;j>=1;j--)
                {
                    if(sum[j]==0)
                    {
                        r=j;
                        break;
                    }
                }
                if(l!=0&&r!=0&&l<r)
                {
                    cout<<"YES"<<endl;
                }
                else
                {
                    cout<<"NO"<<endl;
                }
            }
        }
        return 0;
    }
    

T2 魔法仪式 \(0pts\)

  • 没听懂讲评,暂时咕了。

T3 独特的数组 \(0pts\)

  • 没听懂讲评,暂时咕了。

T4 约会 \(5pts\)

  • 没听懂讲评,暂时咕了。

后记

今天下发的题解写了跟写了似的。

posted @ 2023-08-07 15:41  hzoi_Shadow  阅读(85)  评论(7)    收藏  举报
扩大
缩小