
区间问题解决
文章平均质量分 87
中原睚眦
向每一个OIer致敬
展开
-
基础算法——前缀和
前缀和是解决区间问题的一个基础手段,前缀和的思想也可以用来解决一些其他的问题 那么前缀和到底是什么呢? 目录 例题引入 解决方法: 1.朴素解法(暴力出奇迹) 2.前缀和 3.线段树(还有一些乱七八糟dalao的解法) 前缀和 1.思想 2.代码 3.二维前缀和 例题引入 给定一个数列an,再有Q次的询问,每次询问给出两个区间的端点l,r,请你求出这一段区间所有数之和 ...原创 2019-11-13 23:56:16 · 783 阅读 · 2 评论 -
分块算法总结
分块 分块算法顾名思义,就是将一个序列分成若干个部分(块)来解决 线段树也可以解决分块的问题,但这里只介绍分块算法 解决问题: 说是分块,那么一共要分几块呢? 据机房dalao说,分成sqrt(n)为每块长度 这样一来,假设有n个元素的序列,就有 ceil(n/sqrt(n)) 块 核心的数据结构: struct Block{ int l,r;//块的左右区间端点 int ta...原创 2018-09-09 17:21:25 · 913 阅读 · 1 评论 -
数据结构-线段树(一)
参考博客:膜拜dalao由此进 问题引入:RMQ问题: 题目概述 给定序列a,对于m次询问,每个询问给定x和y,求[x,y]的最大最小值 输入样例: 第一行:两个数n,m表示a的长度和m次询问 接下来一行,n个数,为序列n 接下来m行,每行两个数x,y表示区间范围 5 3 3 5 7 9 6 1 3 2 3 1 5 输出样例 共m行 每一行两个数,maxx和minn,分别表示该次询问的最大最小值 ...原创 2018-12-01 23:37:32 · 263 阅读 · 4 评论 -
数据结构-线段树(二)
目录 懒标记 “懒”标记の介绍 “懒”标记の好处 “懒”标记的定义方式 区间更新 区间更新 思想 题目练习 题目の练习 在此之前,我们先引入一个概念—— “懒”标记の介绍 懒标记的作用,就是维护每一个节点的参数 懒标记顾名思义,就是要懒嘛!这里的懒是运用拟人的手法,懒标记就是记录当前状态,在更新操作的时候将这个状态下传 形象地说,懒标记就像寄存包裹一样,先把这...原创 2019-07-19 18:52:49 · 303 阅读 · 0 评论