RMQ
文章平均质量分 90
胡牧之.
此人很懒,但还添加了简介
展开
-
牛牛的猜球游戏(前缀和+逆交换)
题目原题链接问题描述初始给定一个[0,1,2,3,4,5,6,7,8,9][0,1,2,3,4,5,6,7,8,9][0,1,2,3,4,5,6,7,8,9]的序列,再给定nnn个操作序列,有mmm次询问,每次询问会给定l,rl,rl,r作为操作序列的选择范围,并且依照这个范围内的操作序列对初始序列进行操作,问每次操作的结果序列是什么。分析每一段操作序列的交换是固定的,不会因为初始序列而变化。(因为交换的始终是杯子)如果以前缀和的角度考虑问题,储存经过一系列交换后所得的序列,我们的任务就是原创 2022-02-22 15:20:20 · 356 阅读 · 0 评论 -
小沙的remark(朴素DP、优化DP+树状数组OR线段树)
题目原题链接问题描述给定n(1≤n≤2∗106)n(1\leq n\leq2∗10^6)n(1≤n≤2∗106)和seedseedseed,将基于seedseedseed生成两个长度为nnn的序列aia_iai和bi(0≤bi<i)b_i(0\leq b_i<i)bi(0≤bi<i)。我们的任务就是从序列aia_iai中依照规则进行选择,问我们有多少种选择策略,结果对1e9+71e9+71e9+7取模。规则有两条,第一:我们选择的aia_iai不能小于上一次选择的元原创 2022-02-07 17:18:16 · 877 阅读 · 0 评论 -
炸鸡块君与FIFA22(线段树,ST表)
题目原题链接问题描述输入第一行输入两个整数n,q(1≤n,q≤2×105)n,q(1\leq n,q \leq 2\times 10^5)n,q(1≤n,q≤2×105)表示游戏结果字符串长度与询问次数。第二行输入一个字符串,表示游戏结果字符串,保证之中只含有W、L、DW、L、DW、L、D三种字符,分别表示胜利、失败、平局。需要注意的是:若你当前的分数是333的整倍数(包括000倍),则若下一局游戏失败,你的分数将不变(而不是减一)。接下来qqq行,每行三个数l,r,s(1≤l,r≤n,0≤s原创 2022-02-05 18:15:39 · 2324 阅读 · 0 评论 -
动态开点线段树——求逆序对数
文章目录一、与普通线段树的比较空间区别二、过程分析三、求逆序对数一、与普通线段树的比较空间区别之前学习的线段树空间大小为O(4*n),根据值域的大小而开辟不同大小的空间,一开始我们就需要为线段树上的每一个点都分配一个空间,这就导致普通线段树不适合解决值域过大的问题。那么反过来想,我们能否建立一个可以动态分配空间的线段树,把点分给我们实际上使用的位置,这样的话当点的个数不算太多时,我们就可以省下大量的空间,同时又满足我们解决问题二、过程分析以存入数列{5、4、2、6、3、1}为例,值域范围取.原创 2021-07-24 16:00:53 · 165 阅读 · 2 评论 -
线段树入门
文章目录前言(与树状数组比较)一、原理与构造1.原理2.4N空间的证明3.构造二、单点更新(初始版)三、区间查询(初始版)四、区间更新(绝对修改,相对修改)1.更新的类型2.lazy标志的作用3.pushdown的作用4.区间更新4.区间访问(改进版)前言(与树状数组比较)树状数组,一般用来处理前缀和问题,但我们后来介绍了如何用树状数组来求区间最值,我个人感觉树状数组跟基本线段树的功能已经很接近了,甚至在空间复杂度上更具优势;但(1)树状数组能解决的问题用线段树都能解决,而且思路更加的直接,(2)线原创 2021-05-12 00:22:18 · 289 阅读 · 0 评论 -
ST表(Sparse Table)
文章目录一、1.2.二、1.2.一、1.2.二、1.2.原创 2022-02-02 21:35:36 · 966 阅读 · 0 评论