并非传统意义上的整体二分

是的,如标题所见,本文章会以作者所理解的整体二分思想来介绍一系列整体二分食用方法。

一下内容均是作者本人理解,可能会与算法本身冲突。

1 本质

1.1 板子及从中的启发

我们在做主席树板子的时候,如果使用整体二分,我们将序列 A A A 与查询的 l l l r r r 打包丢到整体二分这个分治结构上去时,会发现,他就类似于一个值域线段树,每一个根节点都有一个树状数组,当满足 a i ≤ m i d a_i \leq mid aimid 时该值的下表 + 1 +1 +1,这也就变成了一个在未可持久化的权值线段树上二分。当然这只是 n l o g 2 n nlog^2n nlog2n 的做法,当然还有 n l o g n nlogn nlogn 的做法。我们会发现树状数组完全是可以省略掉的,注意到树状数组的修改总是在查询操作前停止,所以我们可以再查询之前将递归到此的序列先用前缀和,再查询,他并不会影响答案。

最后我们会发现若需在线,我们仅需将当前的每个子树的根节点上动态存在的树状数组用平衡树存下来,就可以在使用 n l o g n nlogn nlogn 的空间下完成在线。(此空间当限此题)

2 运用

2.1 三维偏序

所以有了这个近似于树套树的一个理解,我们就可以将他拿去写偏序题目,如:三维偏序(陌上开花)。那这该怎么进行操作呢?

首先排序去掉一维,其次我们可以通过上述的类权值线段树的结构查找小于等于第二维的那些子树的根节点,再去查找记录了这些根节点的树状数组所存储的子树内的序列元素的第三维(以他们第三维为下标并 + 1 +1 +1),然后再在每个树状数组查询小于等于第三维的个数。这样就结束了朴素的三维偏序。

2.2 三维偏序带二分

那为什么,我会将其称之为朴素?

区间 mex

给出了答案。

我们需要在整体二分类权值线段树这个结构上二分,而树状数组在这个子树维护的元素 L L L R R R 中,每个元素的个数是否不为 0。

这显然是一个带着三维偏序条件的二分。

2.3

构造具有单调性的序列,这个就应该不需要多说了吧,显然当成 N N N 次二分,check 为贪心。

3 拓展

那么在刚开始所介绍的在线方法,是为 此题 的写法做了一个铺垫。

显然 dp 转移是一个三维偏序,但是若用整体二分进行转移会发现当求解 d p i dp_i dpi 时,我们需要得到 [ 1 , i − 1 ] [1,i-1] [1,i1] 这个区间的所有 dp 值,所以需要在线处理。

那么显然我们可以将原本三维偏序板子代码中的树状数组改成平衡树,在加上一个修改,这就结束了。

十分的简单呀。

但是为什么会说空间复杂度要单独考虑。

思考一个问题:如果是查多次全局第 k k k 呢?

那么显然树状数组就变成的一个变量,那么在线也只需要一个变量。(这不是就真的成了值域线段树了吗……)

另外有一种做法,我感觉像 cdq 就没写进来,就先这样结束吧。

以上题目我的题解:

  1. 三维偏序
  2. mex
  3. 序列

应该会比这个文章详细一点。

感觉自己写的好抽象啊

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

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

相关文章

从零开始的使用SpringBoot和WebSocket打造实时共享文档应用

在现代应用中,实时协作已经成为了非常重要的功能,尤其是在文档编辑、聊天系统和在线编程等场景中。通过实时共享文档,多个用户可以同时对同一份文档进行编辑,并能看到其他人的编辑内容。这种功能广泛应用于 Google Docs、Notion 等…

centos7 离线安装7z

1、下载7-Zip 下载地址:7-Zip - 程序下载 2、解压 mkdir 7zip --创建文件夹7zip mv 7z2301-linux-x64.tar.xz 7zip/ --移动 cd 7zip tar -xvJf 7z2301-linux-x64.tar.xz --解压 输入ll 查看解压后的文件 3、安装cp 7zzs /usr/local/bin/ 输入7zzs 查看是否安装成功…

顶会新宠!KAN-LSTM完美融合新方案

2024深度学习发论文&模型涨点之——KANLSTM KAN-LSTM混合预测模型是一种结合了自注意力机制(KAN, Key-attention network)和长短时记忆网络(LSTM)的深度学习模型,主要用于序列数据的预测任务,如时间序…

CondaError: Run ‘conda init‘ before ‘conda activate‘

rootautodl-container-543e4aa3a7-e596c47a:~# conda activate python37 CondaError: Run ‘conda init’ before ‘conda activate’ conda 激活虚拟环境的时候报错,提示需要进行初始化,但是初始化之后仍然不生效。 1、初始化 conda init2、重新加载环…

Java_实例变量和局部变量及this关键字详解

最近得看看Java,想学一学Flink实时的东西了,当然Scala语法也有这样的规定,简单看一下这两个吧,都比较容易忽视 实例变量和局部变量 实例变量和局部变量是常见的两种变量类型,区别 作用域: 实例变量:实例变…

代理模式的理解和实践

代理模式(Proxy Pattern)是一种结构型设计模式,它允许你为其他对象提供一种代理以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用,客户端通过代理对象间接地访问目标对象。通过这种方式,代理模式…

Autoformer: 一种基于自动相关机制的时序预测新架构

论文题目: Autoformer:Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting 论文地址:https://openreview.net/pdf?idI55UqU-M11y 今天给大家介绍一篇时序预测领域的重要算法——Autoformer,由李华等人于2020年提出&am…

2024-12月js逆向案例-sensor-data之vmp字段之akamai_2/3.0-(下)

目录 一、初始插桩二、长串的由来三、短串的由来2024-12月akamai_2.0-sensor-data之cookie反爬分析详细教程(上)2024-12月akamai_2.0-sensor-data之cookie反爬分析详细教程(中)一、初始插桩 1、其实就是研究dFT的由来,解混淆得到如下**var dFT = ‘’‘concat’‘concat’…

GAMES101:现代计算机图形学-笔记-10

今天来聊一些基本的概念:相机,棱镜与光场。 众所周知,成像的方法有两种:合成与捕获。 像我们之前所学的内容如光栅化,如光线追踪,本质上都是合成图像的方法,他们只是在计算机中模拟来成像。 那…

深信服ATRUST与锐捷交换机端口链路聚合的配置

深信服ATRUST业务口原来只配置使用一个电口,近期出现流量达到800-900M接近端口的极限带宽。由于设备没有万光口,于是只好用2个光口来配置链接聚合。 下需附上深信服ATRST端口配置的截图,由于深信服ATRUST与锐捷交换机端口只共同支持源mac目的…

华为HarmonyOS NEXT 原生应用开发:页面路由、页面和组件生命周期函数

页面路由、组件生命周期 一、路由的基本使用 1. 如何新建页面 直接右键新建Page。【这个是最直接最常用的】新建普通ets文件,然后通过配置变成页面。 【该方法是遇到这种情况的解决方案】 2. 路由 - 页面之间的跳转 使用 **router.pushUrl({}&#xff…

Vulhub:Log4j[漏洞复现]

CVE-2017-5645(Log4j反序列化) 启动靶场环境 docker-compose up -d 靶机IPV4地址 ifconfig | grep eth0 -A 5 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# ifconfig | grep eth0 -A 5 eth0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 in…

电子商务人工智能指南 4/6 - 内容理解

介绍 81% 的零售业高管表示&#xff0c; AI 至少在其组织中发挥了中等至完全的作用。然而&#xff0c;78% 的受访零售业高管表示&#xff0c;很难跟上不断发展的 AI 格局。 近年来&#xff0c;电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…

`yarn list --pattern element-ui` 是一个 Yarn 命令,用于列出项目中符合指定模式(`element-ui`)的依赖包信息

文章目录 命令解析&#xff1a;功能说明&#xff1a;示例输出&#xff1a;使用场景&#xff1a; yarn list --pattern element-ui 是一个 Yarn 命令&#xff0c;用于列出项目中符合指定模式&#xff08; element-ui&#xff09;的依赖包信息。 命令解析&#xff1a; yarn list…

播放器秒开优化

开篇 先说结论&#xff1a; 字节跳动就曾给出过一份数据&#xff1a;对一部分型号的 Android 手机&#xff0c;播放首帧时长从平均 170ms 优化到 100ms&#xff0c;带来了 0.6% 左右的用户播放时长提升。 衡量指标&#xff1a; 播放秒开率&#xff0c;指的是播放器开始初始…

docker nginx 部署vue 实例

1.安装docker https://blog.csdn.net/apgk1/article/details/144354588 2. 安装nginx docker 安装 nginx-CSDN博客 3. 复制 nginx-test 实例的一些文件到宿主机中&#xff0c;目前已 /home/jznh/路径演示 3.1 在/home/jznh/ 创建 conf html logs 三个文件夹&#xff0c;…

技术人员需要成为的八边形战士

那天偶然看到一个标题&#xff1a;脾气好&#xff0c;技术佳&#xff0c;哪个程序员这么宝藏&#xff1f;我没有点进去看内容&#xff0c;但是心里在琢磨一件事&#xff1a;10年前这种宝藏程序员很难得&#xff0c;现在的市场&#xff0c;恐怕不够。恐怕市场在找的都是下面技能…

VLDB 2024 | 时空数据(Spatial-temporal)论文总结

VLDB 2024于2024年8月26号-8月30号在中国广州举行。 本文总结了VLDB 2024有关时空数据&#xff08;time series data&#xff09;的相关论文&#xff0c;主要包含如有疏漏&#xff0c;欢迎大家补充。 &#x1f31f;【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘&#xf…

【推荐算法】单目标精排模型——FiBiNET

key word: 学术论文 Motivation&#xff1a; 传统的Embedding&MLP算法是通过内积和Hadamard product实现特征交互的&#xff0c;这篇文章的作者提出了采用SENET实现动态学习特征的重要性&#xff1b;作者认为简单的内积和Hadamard product无法有效对稀疏特征进行特征交互&a…

Windows中将springboot项目运行到docker的容器中

0&#xff0c;先打包好项目&#xff0c;再启动docker 1&#xff0c;在Java项目根目录下创建一个名为Dockerfile的文件&#xff08;没有扩展名&#xff09;&#xff0c;并添加以下内容。 # 使用OpenJDK的基础镜像 FROM openjdk:8-jdk-alpine# 设置工作目录 WORKDIR /app# 将项…