树状数组(BIT) 树状数组不仅仅只有求区间和的作用,还可以以此来查询区间最值或特殊值,(它的查询和插入操作都是O(logn)级别的); 它的最大好处就是简单易写,实现方便; 定义: 单点添加函数: 查询[1,k]的区间和函数: ...
分类:
编程语言 时间:
2017-05-30 15:40:26
阅读次数:
142
在区间求和时,我们只需求出 [1, r],[1,l?1],利用前缀和的可减性,得到区间 [l,r] 的和。 但区间最值不满足这个性质。 我们可以把区间 [l,r] 拆分成若干个子区间,再合并得到答案。 画图可知,max_i需要的 max 只有 max_{i-2^0}, max_{i-2^1}, ma ...
分类:
编程语言 时间:
2017-05-25 23:27:26
阅读次数:
285
题目链接:hdu 5306 Gorgeous Sequence 题意: 给你一个序列,有三种操作。 0 x y t:将[x,y]的数取min(a[i],t) 1 x y:求[x,y]的最大值 2 x y:求[x,y]的区间和 题解: 吉老师的课件题:传送门 1 #include<bits/stdc+ ...
分类:
其他好文 时间:
2017-05-25 00:01:40
阅读次数:
367
To 洛谷.1886 滑动窗口 To POJ.2823 Sliding Window 题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 例如: The array is [1 3 -1 ...
一.概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中经常遇到的问题,下面介绍一下解决这两种问题的比较高效 ...
分类:
编程语言 时间:
2017-05-18 18:43:54
阅读次数:
214
1. 概述 RMQ(Range Minimum/Maximum Query)。即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中常常遇到的问题。以下介绍一下解决这两种问题的比較高 ...
分类:
编程语言 时间:
2017-05-03 11:37:18
阅读次数:
149
OJ题号:洛谷P1198、BZOJ1012 思路: 本题可以转化成一个线段树问题。总的操作(修改、查询)不超过M次,说明修改的次数一定≤M。因此我们可以建一棵大小为M的线段树。修改操作即为单点修改,查询操作可以转化成区间最大值,则本题实质上就是单点修改、区间最值的线段树。 ...
分类:
Web程序 时间:
2017-05-01 21:03:52
阅读次数:
207
RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说。RMQ问题是指求区间最值的问题。 Balanced Lineup Time Limit: 5000M ...
分类:
其他好文 时间:
2017-04-24 19:50:56
阅读次数:
228
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 非常多学校流行一种比較的习惯。老师们非常喜欢询问。从某某到某某其中,分数最高的 ...
分类:
其他好文 时间:
2017-04-19 12:53:02
阅读次数:
227
Gorgeous Sequence Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2150 Accepted Submission(s): ...
分类:
其他好文 时间:
2017-03-29 22:15:06
阅读次数:
217