原文:[JSOI2008][BZOJ1012] 最大数(动态开点线段树)

题目描述 现在请求你维护一个数列,要求提供以下两种操作: 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:L不超过当前数列的长度。 插入操作。 语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案 如果还未执行过查询操作,则t ,并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。 限制:n是整数 可能为负数 并且在长整范围内。 ...

2016-10-26 21:32 2 1225 推荐指数:

查看详情

动态开点线段

动态开点线段 前置芝士 众所周知,普通线段空间复杂度是 \(O(n*4)\) 所以当n很大的时候,如果正常的去建一颗线段,开4倍n空间显然会炸内存 怎么办呢? 这个时候,动态开点线段出现了。 概念 ​ 动态开点线段是一类特殊的线段,与普通的线段不同的是,每一个节点的左右 ...

Sun Jul 19 21:54:00 CST 2020 1 806
浅谈动态开点线段

浅谈动态开点线段 本篇随笔简单讲解一下线段的常见优化技巧——动态开点。 要学动态开点首先得会线段,如果不会的话,看官请走这边—— 简单线段详解 权值线段详解 动态开点的概念和功能 现在要让你维护一棵值域为\(10^9\)的权值线段。 掐指一算,按线段开的话,四倍空间 ...

Sat Apr 04 03:50:00 CST 2020 0 1133
[线段系列] 动态开点线段

不了解线段的朋友可以看看我上一篇博客: [线段系列] 普通线段 补充一个上一篇漏了的点:线段要开4倍空间。 然而面对庞大的数据我们开maxn<<2的空间是肯定开不下的。 这时候就要用到动态开点线段来节省空间了。( 或者离散化 ) 动态开点线段大概长这样( 又是随手 ...

Tue Oct 29 06:31:00 CST 2019 0 506
动态开点线段——节约资源,你值得拥有

简介: 发现,有的时候,线段需要维护的区间很大很大,但是实际用到的节点很少很少。 那么,我们干脆就不要开这么多的节点,用到的时候再向内存要。 也就是说,我们建立了一棵残疾的线段,缺少很多枝叶,但是绝对够用了。 画个图大概理解一下(虽然也不太对) 实心边框的点都是我们申请内存 ...

Tue Sep 04 17:19:00 CST 2018 0 4126
NOIP2017 列队——动态开点线段

Description: Sylvia 是一个热爱学习的女♂孩子。 前段时间,Sylvia 参加了学校的军训。众所周知,军训的时候需要站方阵。 Sylvia 所在的方阵中有n×m名学生,方阵的行 ...

Tue Sep 04 17:04:00 CST 2018 0 875
线段———区间最大数线段入门)

线段初级(区间最大数) 其实就是对进行二分查找 (当然需要结合递归) 思路: 要从区间中找到最大数,当然可以暴力求解,但你不怕超时吗??? so 让我们来学习线段吧!!!!!!!!!!!!!!! 在c++里下面这个代码是极快的(哇咔咔 ...

Sat Mar 21 03:32:00 CST 2015 1 2734
关于 (主席) (可持久化线段) (动态开点线段) 的问题

问题 主席、可持久化线段动态开点线段指向的都是同一类问题。即给定一个序列,求与等级、名次相关的答案,常用线段计数加减的方式解决,在需要的时候也可以对等级、名次对应的数值离散化,前提是没有修改或允许离线操作 算法原理 为了解决此类问题,需要对每个序列节点建一棵以询问目标大小为值域 ...

Thu Jan 05 18:58:00 CST 2017 0 1914
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM