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的人还差两次考试[现在是一次了]就要重新分配机房,不 ...
随机推荐
- 信息收集-CDN绕过
什么是CDN加速? CDN 的全称是 Content Delivery Network,即内容分发网络.CDN 是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器, 通过中心平台的负载 ...
- 01_设计一个有getMin功能的栈
01_设计一个有getMin功能的栈 [题目] 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作. [要求] pop.push.getMin操作的时间复杂度都是O(1) 设计 ...
- [kubernetes]服务健康检查
前言 进程在运行,但是不代表应用是正常的,对此pod提供的探针可用来检测容器内的应用是否正常.k8s对pod的健康状态可以通过三类探针来检查:LivenessProbe.ReadinessProbe和 ...
- NodeJS安装指南(Mac)
nvm,node,npm之间的区别 nvm:nodejs 版本管理工具. 也就是说:一个 nvm 可以管理很多 node 版本和 npm 版本. nodejs:在项目开发时的所需要的代码库 npm:n ...
- [转帖]一文看懂Linux内核页缓存(Page Cache)
https://kernel.0voice.com/forum.php?mod=viewthread&tid=629 玩转Linux内核 发布于 2022-8-9 22:19:08 阅读 ...
- [转帖]jmeter实现不写代码把测试结果存入execl
这里使用数据库作为中间件来实现不写代码就把测试结果存入execl,下面是步骤 1.新建一个setup线程组用来设置数据库连接信息和新建数据库,如下图所示,我们使用sqlite数据库来存储信息,因为不需 ...
- [转帖]【InfluxDB V2.0】介绍与使用,flux查询、数据可视化
目录 一.关键概念 二.系统结构 三.配置文件 四.Flux查询语句 五.可视化数据 附录 一.关键概念 相比V1 移除了database 和 RP,增加了bucket. V2具有以下几个概念: ti ...
- CPU算力提升与实际性能提升的关系
关于SPEC2006CPU和RedisBenchmark的理解 最近研究过硬件CPU的性能和Redis这样单线程重IO服务 突然想对比一下CPU算力提升占Redis性能提升的比率情况 性能很大程度由C ...
- 使用Docker快速搭建InnoDB Cluster集群的过程
感谢 感谢方神的大力帮助,自己对数据库基本一窍不通.只是照葫芦画瓢做出来的. 感谢来自如下两个网站的资料,我进行了一定程度的融合. https://blog.csdn.net/weixin_43972 ...
- 程序员必备!10款实用便捷的Git可视化管理工具
前言 俗话说得好"工欲善其事,必先利其器",合理的选择和使用可视化的管理工具可以降低技术入门和使用的门槛.我们在团队开发中统一某个开发工具的使用能够大大降低沟通成本,提高协作沟通效 ...