题目大意: 给定一个序列,每次询问一个区间[L,R]所有子区间的最小值之和。 思路: 考虑莫队如何转移,新增一个端点R,则增加的区间为[L...R 1,R],考虑这些区间新贡献的最小值。 我们把从R开始向左单调下降的序列给求出来,不难发现最小值是由区间内包含的最靠左一个在单调下降序列里的元素的值所决 ...
分类:
其他好文 时间:
2018-12-09 11:57:05
阅读次数:
224
这是一道RMQ水题,因为本蒟蒻居然一A 题目描述 从前有个人名叫W and N and B,他有着天才般的记忆力,他珍藏了许多许多的宝藏。在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松回答出这个问题,便可以继承他的宝藏。题目是这样的:给你一大串数字(编号为1到N,大小可不一定哦! ...
分类:
其他好文 时间:
2018-12-08 21:11:28
阅读次数:
190
emmmmmm 看到这道题的第一反应嘛 (区间最小,大概是RMQ吧 然后,华丽丽的80分 (题解说st表会T两个点,可是我是MLE emmmm。。。 貌似st表不能做,有一个滚动数组的优化,可以看看题解学一下 这里我改用了单调队列的做法 (本来用的STL的队列,但是学长说不方便,开一个数组即可 [而 ...
分类:
其他好文 时间:
2018-12-03 21:39:53
阅读次数:
191
Description Wind设计了很多机器人。但是它们都认为自己是最强的,于是,一场比赛开始了。机器人们都想知道谁是最敏捷的,于是它们进行了如下一个比赛。首先,他们面前会有一排共n个数,它们比赛看谁能最先把每连续k个数中最大和最小值写下来,当然,这些机器人运算速度都很快,它们比赛的是谁写得快。但 ...
分类:
其他好文 时间:
2018-11-30 17:30:38
阅读次数:
188
RMQ https://ac.nowcoder.com/acm/contest/283/J 题目描述 按位或运算:处理两个长度相同的二进制数,两个相应的二进位中只要有一个为1,该位的结果值为1。例如5 or 3 = 7 0101(十进制5) OR 0011(十进制3) = 0111(十进制7) —— ...
分类:
其他好文 时间:
2018-11-27 13:47:44
阅读次数:
235
类似hdu5289,但是二分更复杂。本题枚举左端点,右端点是一个区间,需要二分找到区间的左端点和右端点(自己手动模拟一次),然后区间长度就是结果增加的次数 另外结果开long long 保存 ...
分类:
其他好文 时间:
2018-11-26 23:15:22
阅读次数:
192
st表是解决区间RMQ(区间最值问题)的一类算法,时间复杂度为O(nlogn)的预处理和O(1)的查询,其主要运用了类似倍增的思想... 总体来说,st表的用处还是挺大的,代码也比较短,容易记... st表 若现在给定一个长度为n的序列A,每次给定两个数l,r,求出A[l]~A[r]中的最大值... ...
分类:
编程语言 时间:
2018-11-23 23:52:58
阅读次数:
653
ST算法用于解决RMQ(Range Minimum/Maximum Query)的问题。解决RMQ有三种实现的方法: 1.基于分治的树状数组 2.基于分治的线段树 3.动态规划下的ST表算法。点这里查看它们的复杂度和区别。ST算法无法修改、O(1)的查询、O(nlogn)的预处理; 分析数组a的区间 ...
分类:
编程语言 时间:
2018-11-14 22:40:36
阅读次数:
535