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\)

- 没听懂讲评,暂时咕了。
后记
今天下发的题解写了跟写了似的。
2023年多校联训NOIP层测试5的更多相关文章
- Contest1893 - 2019年6月多校联训b层测试1
传送门 密码:waxadyt T1 暴力 对于任意相邻的两个值 中间能到达的最大高度是固定的 加上头尾,判一下就好了 代码//感谢Th Au K #include<bits/stdc++.h&g ...
- 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)
2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ...
- 「题解」NOIP模拟测试题解乱写II(36)
毕竟考得太频繁了于是不可能每次考试都写题解.(我解释个什么劲啊又没有人看) 甚至有的题目都没有改掉.跑过来写题解一方面是总结,另一方面也是放松了. NOIP模拟测试36 T1字符 这题我完全懵逼了.就 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组
2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色
2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维 ...
- NOIP模拟测试17&18
NOIP模拟测试17&18 17-T1 给定一个序列,选取其中一个闭区间,使得其中每个元素可以在重新排列后成为一个等比数列的子序列,问区间最长是? 特判比值为1的情况,预处理比值2~1000的 ...
- 三校联训 【NOIP模拟】寻找
题面 “我有个愿望,我希望穿越一切找到你.” 这是个二维平面世界,平面上有n个特殊的果实,我从(0,0)点出发,希望得到尽量多的果实,但是出于某种特殊的原因,我的运动方式只有三种(假设当前我在(x,y ...
- [考试反思]0714/0716,NOIP模拟测试3/4
这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...
- [k8s]nginx-ingress配置4/7层测试
基本原理 default-backend提供了2个功能: 1. 404报错页面 2. healthz页面 # Any image is permissable as long as: # 1. It ...
- 2019.8.3 NOIP模拟测试12 反思总结【P3938 斐波那契,P3939 数颜色,P3940 分组】
[题解在下面] 早上5:50,Gekoo同学来到机房并表态:“打暴力,打暴力就对了,打出来我就赢了.” 我:深以为然. (这是个伏笔) 据说hzoi的人还差两次考试[现在是一次了]就要重新分配机房,不 ...
随机推荐
- windows无法远程访问liunx的mysql解决方案(8.0.27版本)
一.安装后mysql后发现windows上的无法正常访问,报错如下: 不管是navicat软件,还是使用python的pymsql进行连接 1.navicat软件如下:"Access den ...
- P5728 【深基5.例5】旗鼓相当的对手
1.题目介绍 2.题解 2.1 二维数组 思路 主要熟悉vector创建二维数组的方法 vector<vector> ans(N,vector(3)); 这里第一个元素表明数组大小,第二个 ...
- Java中内存四区
这里简要说明这四个区域通常用于存储的变量类型: 栈区(Stack): 存放局部变量.方法参数.返回地址等. 变量的生命周期与其所在的方法(函数)的调用周期一致. 堆区(Heap): 主要用于动态分配内 ...
- K8S增加限制后的启动时间验证
K8S增加限制后的启动时间验证 背景 前段时间看了下JVM载linux上面的启动时间, 进行过一些验证. 最近想着能够验证一下K8S上面的启动相关的信息 所以就整理了一下. 虽然没有特别好的结论, 但 ...
- [转帖]CentOS8时间同步服务
时间同步服务 CentOS7之前的版本用的是ntpdate服务,之后用的是chrony服务 默认是安装的了 查看版本 [root@centos8 ~]#rpm -qi chrony Name : ch ...
- [转帖] 请求量突增一下,系统有效QPS为何下降很多?
https://www.cnblogs.com/codelogs/p/17056485.html 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 最近我观察到一 ...
- [转帖]echo 输出不换行-e \c
http://www.my889.com/i/1952 在shell中,echo输出会自动换行.有时候在循环中不希望echo输出换行.代码实现如下: 1 echo -e " \c" ...
- ebpf 单行程序学习
ebpf 单行程序学习 背景 公司方神借给我一本: <BPF之巅:洞悉linux系统和应用性能>纸质书 拿回家晚上在沙发上看了几天. 感觉书很厚看的不是很系统. 仅能凭自己的感觉总结一下这 ...
- 【转帖】linux 软连接的使用
https://www.cnblogs.com/sueyyyy/p/10985443.html 软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接. 具体用法是: ...
- [转帖]Linux 中unzip解压时中文乱码的解决办法
https://www.yii666.com/blog/163883.html Linux 中unzip解压时中文乱码的解决办法 当我们在linux中解压一个含有中文名字的压缩包如"资料.z ...