AcWing 4645. 选数异或

简介: 每日打卡

传送门 AcWing 4645. 选数异或  

image.png

通过读题我们可以知道,给我们一个区间,进行m次询问,每次询问一个区间内是否存在一个两个下标不同的数的异或等于x。因为a^b = x 与 a = b^x是等价的,那我们不妨使用一个数组来记录i前最近一个与当前数ai异或x之后的值相同值的位置。若这个值在给定区间的左边时,则表示区间内并没有符合条件的数值存在。

image.png


若值在区间内则说明存在值能够满足条件。

image.png

即1<i<r,若存在1<last[a^x]<i,则说明存在值满足题目条件。我们还可以使用一个数组s记录最近一个满足条件的下标。若s[r]的值大于等于l则说明最近一个满足条件的值在限定的区间之中。直接看代码可能更加地直观一些。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 100010,M = (1<<20)+10;
int n,m,x;
int last[M],s[N];
int main()
{
    scanf("%d%d%d",&n,&m,&x);
    for(int i = 1;i<=n;i++)
    {
        int a;
        scanf("%d",&a);
        s[i] = max(s[i-1],last[a^x]);
        last[a] = i;
    }
    while(m--)
    {
        int l,r;
        scanf("%d%d",&l,&r);
        if(s[r]>=l) puts("yes");
        else puts("no");
    }
    return 0;
}

image.gif

目录
相关文章
|
存储 缓存 固态存储
服务器高效硬盘还是要SSD固态硬盘?
服务器高效硬盘还是要SSD固态硬盘? 数据库放在 WDC WD3000BLFS (1万转) 跟放在 INTEL SSDSA2BW080G3   上的速度,有质的飞跃,不是同一个数量级的。 数据库必须得放到SSD上。
9585 0
|
11月前
Bootstrap5 侧边栏导航(Offcanvas)3
通过设置 `data-bs-scroll` 和 `data-bs-backdrop` 属性,可以控制侧边栏弹出时元素的滚动行为和背景画布的显示。示例中展示了不同配置下的滚动效果和背景画布的使用方法。
|
Java 程序员 网络安全
Flink处理函数实战之四:窗口处理
学习Flink低阶处理函数中的ProcessAllWindowFunction和ProcessWindowFunction
192 0
Flink处理函数实战之四:窗口处理
uniapp滑动到一定的高度后固定某个元素到顶部效果demo(整理)
uniapp滑动到一定的高度后固定某个元素到顶部效果demo(整理)
|
人工智能 供应链 大数据
1688跨境寻源通代采系统
1688跨境寻源通代采系统助力全球买家高效采购,2023年1月跨境注册买家增长76%,超594万。系统提供多语言支持,AI技术优化搜索,集成API接口扩展销售,支持自动化下单和支付。源头厂商合作,1亿+货盘开放,还有定制化解决方案,构建一站式智能采购平台,促进跨境贸易发展。[c0b.cc/R4rbK2](API测试账号)
|
Java Maven
【开源视频联动物联网平台】vertx写一个mqtt客户端
【开源视频联动物联网平台】vertx写一个mqtt客户端
354 1
|
机器学习/深度学习 数据挖掘
R语言逻辑回归模型的移动通信客户流失预测与分析
R语言逻辑回归模型的移动通信客户流失预测与分析
|
存储 关系型数据库 MySQL
Spring Boot 2.x基础教程:使用PostgreSQL数据库
Spring Boot 2.x基础教程:使用PostgreSQL数据库
2411 0
Spring Boot 2.x基础教程:使用PostgreSQL数据库
|
存储 缓存 索引
数据结构——顺序表的概念和基本操作(超全超详细)
数据结构——顺序表的概念和基本操作(超全超详细)