CF817F MEX Queries 题解

题目描述

解题思路

考虑分块。发现 l l l r r r 的范围都很大,但是我们只需要知道第一个没有出现的正整数是在哪个位置,然后就能得到答案,所以我们把 l l l r r r r + 1 r+1 r+1 离散化,然后用一个数组映射回去,我们求得位置后就可以通过这个映射数组求出具体的值。

依次考虑以下操作:

  1. 添加:如果是零散块,那么先标记下传,然后直接重新复制就可;如果是整块,那么直接更新标记;
  2. 删除:同上;
  3. 反转:这个稍微麻烦一点,基本原理同上,但是需要注意处理整块的时候,需要按照有无标记分为两类处理;
  4. 查询:直接遍历每个块,找到第一个空的位置,然后映射回去得到答案,但是我们需要注意,如果第一块的左边界是 > 1 >1 >1 的,那么我们直接输出 1 1 1 即可。

时间复杂度: O ( 能过 ) O(能过) O(能过),空间复杂度 O ( n n ) O(n\sqrt n) O(nn )

AC 代码

#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
#include<math.h>
#include<vector>
#include<stdio.h>
#include<valarray>
#include<algorithm>
#include<iostream>
#define B 550
#define N 300005
template<typename T>
inline void read(T &x){x=0; bool f=1; char ch=getchar();while(ch<'0'||ch>'9') f^=ch=='-',ch=getchar();while(ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+(ch^48),ch=getchar();x=f?x:-x; return;
}
template<typename T>
inline void put(T x){if(

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/25037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式 —— 装饰器模式

设计模式 —— 装饰器模式 什么是装饰器模式通俗解释 Component&#xff08;组件接口&#xff09;ConcreteComponent&#xff08;具体组件&#xff09;Decorator&#xff08;装饰器接口&#xff09;ConcreteDecorator&#xff08;具体装饰器&#xff09;装饰器模式优缺点优点缺…

MySQL—多表查询—子查询(介绍)

一、引言 上一篇博客学习完联合查询。 这篇开始&#xff0c;就来到多表查询的最后一种形式语法块——子查询。 &#xff08;1&#xff09;概念 SQL 语句中嵌套 SELECT 语句&#xff0c;那么内部的 select 称为嵌套查询&#xff0c;又称子查询。 表现形式 注意&#xff1a; …

复数的概念

1. 虚数单位&#xff1a;i 引入一个新数 ‘i’&#xff0c;i又叫做虚数单位&#xff0c;并规定&#xff1a; 它的平方等于 -1&#xff0c;即 i -1。实数可以与它进行四则运算&#xff0c;并且原有的加&#xff0c;乘运算律依然成立。 2.定义 复数的定义&#xff1a;形如 a…

Github 2024-06-09 php开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-09统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10Blade项目1Livewire: Laravel中构建动态UI组件的全栈框架 创建周期:1818 天开发语言:PHP协议类型:MIT LicenseStar数量:21388 个F…

CTFHUB-SQL注入-字符型注入

目录 查询数据库名 查询数据库中的表名 查询表中数据 总结 此题目和上一题相似&#xff0c;一个是整数型注入&#xff0c;一个是字符型注入。字符型注入就是注入字符串参数&#xff0c;判断回显是否存在注入漏洞。因为上一题使用手工注入查看题目 flag &#xff0c;这里就不…

LeetCode题练习与总结:买卖股票的最佳时机--121

一、题目描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获…

GIS数据快捷共享发布工具及操作视频

有网友反映还是不会操作GIS数据快捷共享发布工具&#xff08;建立自己的地图网站&#xff09;&#xff0c;要我录个视频。 好&#xff0c;那就录一个: GIS数据快捷共享发布工具及操作视频 虽然默认例子是二维的&#xff0c;但这个服务器可以为二维、三维系统发布时间服务。都是…

NASA数据集——SARAL 近实时增值业务地球物理数据记录海面高度异常

SARAL Near-Real-Time Value-added Operational Geophysical Data Record Sea Surface Height Anomaly SARAL 近实时增值业务地球物理数据记录海面高度异常 简介 2020 年 3 月 18 日至今 ALTIKA_SARAL_L2_OST_XOGDR 这些数据是近实时&#xff08;NRT&#xff09;&#xff…

SpringCloudAlibaba基础二 Nacos注册中心

一 什么是 Nacos 官方&#xff1a;一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 集 注册中心配置中心服务管理 平台。 Nacos 的关键特性包括: 服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理 …

达梦8 探寻达梦排序原理:新排序机制(SORT_FLAG=1)

测试版本&#xff1a;--03134283938-20221019-172201-20018 达梦的排序机制由四个dm.ini参数控制&#xff1a; #maximum sort buffer size in Megabytes &#xff0c;有效值范围&#xff08;1~2048&#xff09; SORT_BUF_SIZE 100 #ma…

mysql数据库打开失败的问题

打不开mysql 1. my.ini未配置路径&#xff1a;找到basedir和datadir&#xff0c;改成如下路径。改完记得去掉井号 &#xff01;&#xff01; 复制路径粘贴&#xff0c;记得去掉井号 &#xff01;&#xff01; 启动&#xff01;方式1 发生系统错误5&#xff1a;没有用管理员身…

Android Media Framework(三)OpenMAX API阅读与分析

这篇文章我们将聚焦Control API的功能与用法&#xff0c;为实现OMX Core、Component打下坚实的基础。 1、OMX_Core.h OMX Core在OpenMAX IL架构中的位置位于IL Client与实际的OMX组件之间&#xff0c;OMX Core提供了两组API给IL Client使用&#xff0c;一组API用于管理OMX组件…

数据库 | 关系数据库设计

第七章 1.简述数据库的设计阶段&#xff1f;&#xff08;简要回答数据库设计步骤&#xff1f;&#xff09;&#xff08;&#xff08;数据库设计有哪几个阶段&#xff1f;&#xff09; 需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据库的运行和维护…

如何用群晖当异地组网服务器?

在当今信息化时代&#xff0c;远程通信成为了企业和个人之间不可或缺的一部分。特别是对于跨地区的通信需求&#xff0c;一个可靠的异地组网服务器是必不可少的。而群晖&#xff08;Synology&#xff09;作为一款功能强大的网络存储设备&#xff0c;可以被用作办公室或家庭的异…

构建LangChain应用程序的示例代码:24、使用OpenAI工具进行文本提取教程(Extraction with OpenAI Tools)

使用OpenAI工具进行文本提取教程 执行提取任务从未如此简单&#xff01;OpenAI的工具调用功能是完美的选择&#xff0c;因为它允许从文本中提取多种不同类型的元素。 使用支持工具的模型 1106版本之后的模型使用工具&#xff0c;并支持“并行函数调用”&#xff0c;这使得任…

ssm621大湾区旅游推荐系统的设计与实现+vue【已测试】

前言&#xff1a;&#x1f469;‍&#x1f4bb; 计算机行业的同仁们&#xff0c;大家好&#xff01;作为专注于Java领域多年的开发者&#xff0c;我非常理解实践案例的重要性。以下是一些我认为有助于提升你们技能的资源&#xff1a; &#x1f469;‍&#x1f4bb; SpringBoot…

数染色体 算法 python源码

效果图如下&#xff1a; 原图&#xff1a; 完整代码&#xff1a; import cv2 import numpy as np from skimage import measure import randomimage cv2.imread(113.jpg, cv2.IMREAD_GRAYSCALE)blurred_img cv2.GaussianBlur(image, (5, 5), 0)_, binary_image cv2.thresho…

后端启动项目端口冲突问题解决

后端启动项目端口冲突 原因&#xff1a; Vindows Hyper-V虚拟化平台占用了端口。 解决方案一&#xff1a; 查看被占用的端口范围&#xff0c;然后选择一个没被占用的端口启动项目。netsh interface ipv4 show excludedportrange protocoltcp 解决方案二&#xff1a; 禁用H…

spring源码解析-(2)Bean的包扫描

包扫描的过程 测试代码&#xff1a; // 扫描指定包下的所有类 BeanDefinitionRegistry registry new SimpleBeanDefinitionRegistry(); // 扫描指定包下的所有类 ClassPathBeanDefinitionScanner scanner new ClassPathBeanDefinitionScanner(registry); scanner.scan(&quo…

MyBatis中 set标签

1、set标签特点&#xff1a; set标签用于更新语句中set标签解析为set关键字set可以去除跟新语句中无用的逗号通常是和if标签一起使用 2、set标签的使用 编写接口方法编写sql语句 注意 当set标签中有条件成立时就会附加set关键字&#xff0c;字段为null时该列不会被更新。se…