1001 区间的价值: RMQ+扫描法 我们预处理RMQ求任意区间的最大值 预处理出以a[i]为最小值 能向左延伸 向右延伸的 L[i], R[i] 那么对于 一个答案 (L[i], R[i]) *rmq(L[i],R[i]) 为此长度的答案,我们可以发现他是可以更新到小于其长度的所有长度答案的,更 ...
分类:
其他好文 时间:
2016-05-22 18:05:08
阅读次数:
183
上篇文章讲了简单队列的使用,这其实就是RMQ给的demo,实际并没有什么用 本篇讲讲工作模式队列,也称之为任务队列 一个生产者发布了多条消息,消费者A可以接受消息,接受消息后该消息就消除,消费者B可以接受其他消息 使用场景,一些数据库操作比较缓慢的话可以分别给多个接口调用,降低压力,或者抢单场景也能 ...
分类:
其他好文 时间:
2016-05-22 15:19:33
阅读次数:
149
消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是性能上和RMQ相比相对差一些 卡夫卡呢,使用场景不同,不多介绍,主要是用于日志收集方面,结合hado ...
分类:
其他好文 时间:
2016-05-22 15:06:12
阅读次数:
293
描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。 小工是南将军手下的军师,南将军现在想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。 注意,南将军可能会问很多次问题。 样例输出 测试代码 ...
分类:
其他好文 时间:
2016-05-19 10:30:32
阅读次数:
144
点击打开链接
题意:问连续重复部分最多的串是什么,不能重叠,且我们要字典序最小的串如xbcabcab,有bcabca重复次数为2,cabcab重复次数也为2,那么要前边那个
思路:以前写过一个类似的,SPOJ 687,这个只是求连续重复部分最多的串的次数,并不需要将按字典序最小串输出,那么我们可以用到SPOJ687的代码,用它我们可以求出那个重复的次数和满足这个次数的串的长度,那么就只差找到字...
分类:
编程语言 时间:
2016-05-18 18:43:57
阅读次数:
214
Description An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very ...
题目描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。 所以,南将军经常问军师小工第i号士兵到第j号士兵中,杀敌数最高的人 ...
分类:
其他好文 时间:
2016-05-16 23:20:57
阅读次数:
258
题目大概说给一个递增序列,询问区间出现最多的数。 用莫队算法比较直观,虽然应该会T。。好像也可以主席树。。不过题目给的序列是有序的,因而相同的数会聚在一起。 考虑把序列分成一段一段,使每段都包含极大的相同的数字 这样对于每一个区间查询: 可能这个区间左边或右边没有包含完整的一段,而其长度在段里对左或 ...
分类:
其他好文 时间:
2016-05-13 23:13:25
阅读次数:
215
题意很简单就是给你两个数n和m,n表示有n张飞机票,m表示有m次查询,接下来n行,每行两个数,分别表示航班出发的时间和价格,接下来m行,每行两个数表示查询这两个数时间内航班最贵的价格。如果没有要求的机票就输出"None"。这道题是一道典型的RMQ问题,就是区间最值查询问题。这里提供两种解法。
1.线段树可以解决,而且是一道线段树的裸题。
//segment tree
#include
#in...
分类:
其他好文 时间:
2016-05-13 04:16:00
阅读次数:
294
裸的树状数组插线问点问题,
士兵杀敌(四)
时间限制:2000 ms | 内存限制:65535 KB
难度:5
描述
南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难的事情,军师小...
分类:
其他好文 时间:
2016-05-13 01:39:22
阅读次数:
166