题意:给出非降序的n个数字的序列(有重复),然后给出i,j问[i,j]范围内出现最多次数的值的次数。
题解:经典的RMQ问题,按书上题解的思路,先把序列分段,即相同数字是一个段,用val[cnt]和count[cnt]表示第cnt段的值和出现次数,num[i],l[i],r[i]分别表示位置i所在段编号(cnt),左右端点位置,那么每次查询[i,j]时,就是要计算i到i左端点的元素个数,j到...
分类:
其他好文 时间:
2015-04-04 19:47:58
阅读次数:
131
1. 题目
存在一个非递减有序序列data,如{1,2,3,3,3,3,4,5},注意允许有相同元素。
(1) 求与key相同的第一个元素所在的位置。
(2) 求与key相同的最后一个元素所在的位置。
2. 分析
该序列有序因此利用折半可以提高查找效率,查找时间复杂度O(logN),其中N为序列长度。
对于问题(1):利用折半操作有s、middle、e三个指针,初始分别指向data的头...
分类:
其他好文 时间:
2015-04-04 18:31:11
阅读次数:
131
1、对象序列化,类实现Serializable接口 不需要序列化的属性,使用transient声明 2、使用套接字流在主机之间传递对象注意问题: 学习自:Socket同时使用ObjectInputStream和ObjectOutputStream传输序列化对象时的顺序 ObjectInputStre...
分类:
其他好文 时间:
2015-04-04 18:19:44
阅读次数:
258
输出数字序列2/1,3/2,5/3,8/5,13/8,21/13...,输出个数由键盘输入。注意输入使用scanf输入 比如:输入 3输出为2/13/25/3输入 4 输出为2/13/25/38/5#includeint func(int n){ if(n == 1) { ...
分类:
其他好文 时间:
2015-04-04 18:14:58
阅读次数:
157
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3308 ,简单的线段树区间合并。 线段树的区间合并:一般是要求求最长连续区间,在PushUp()函数中实现区间合并操作。解法: 由于对于一个区间的最长序列来说,最优解要么完全在左半序列,要么完全在...
分类:
其他好文 时间:
2015-04-04 18:06:38
阅读次数:
135
序列是Python中最基本的最重要的数据结构,python内置的6种序列类型有list, tuple, string, unicode, buffer, xrange序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。并且序列都可以进行索引、检查成员、切片...
分类:
编程语言 时间:
2015-04-04 16:33:33
阅读次数:
145
分布式系统中的RPC请求经常出现乱序的情况。
写一个算法来将一个乱序的序列报序输出,列如,假设起始序号是1,对于(1,2,5,8,10,4,3,6,9,7)这个序列,输出是
1
2
3,4,5
6
7,8,9,10
上述例子中,3到来的时候发现4,5已经在了,因此将已经满足顺序的整个序列(3,4,5)输出为一行。
要求:
1.写一个高效的算法完成上述功能,实现要求尽可能的...
分类:
其他好文 时间:
2015-04-04 15:17:30
阅读次数:
115
描述
给定一段 n(n≤50000) 个数的序列, m(m≤50000) 次询问 [L, R] 区间内相邻元素两两交换使得序列不降的最少次数.
分析
首先转化为一个逆序对的问题, 最少交换的次数就是逆序对的个数. 后面的证明说的不严谨甚至可能是错的, 不过可以作为启发和参考吧 : 对于序列中的一个元素x, 其后面比它小的元素有c个, 讨论它后面第一个元素y的值, 如果y比x小...
分类:
编程语言 时间:
2015-04-04 13:44:46
阅读次数:
112
欢迎转载,转载请务必注明出处:http://blog.csdn.net/alading2009/article/details/44872143第9题:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。
例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:
因此返回true。
如果输入7、4、6、5,没有哪棵...
分类:
其他好文 时间:
2015-04-04 13:44:40
阅读次数:
253
题目链接题目大意 有一个数字串长度为n,输入顺序为非递减,给出一个区间[L,R],要求算出区间中某个出现次数最多的数,答案为它出现的次数。
1. N<10510^5 , 区间数cas<10510^5
2. 多组测试,以0结尾
解题思路 因为数组是非递减序列,所以可以将数组分段。(也叫游程编码,Run Length Encoding RLE)
1.扫描一遍数组,求如下:...
分类:
其他好文 时间:
2015-04-04 12:21:30
阅读次数:
134