题意:给出一个不降序列,有多个询问,询问[l,r]中出现次数最多的数的出现次数 多组数据 对于序列 1 1 1 1 1 1 3 10 10 10 可以这么理解, , , cnt[i]记录这个数字的出现次数,lef[i]记录左端点,righ[i]记录右端点,belong[i]代表第i个数字属于哪一块 ...
分类:
其他好文 时间:
2018-12-28 17:20:48
阅读次数:
198
题意:给出n个数和Q个询问(l,r),对于每个询问求出(l,r)之间连续出现次数最多的次数。 解题关键:统计次数,转化为RMQ问题,运用st表求解,注意边界。 预处理复杂度:$O(n\log n)$ ...
分类:
其他好文 时间:
2017-09-03 10:08:22
阅读次数:
144
Description 给一个不递减的长度为n的数列,q个询问,每次询问[l,r]区间内众数出现的次数。 Sample Input 10 3-1 -1 1 1 1 1 3 10 10 102 31 105 100 Sample Output 1 4 3 题解: 因为是有了不递减的限制,所以可以当成r ...
分类:
其他好文 时间:
2017-09-02 09:41:35
阅读次数:
186
Frequent values Description You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given seve ...
分类:
其他好文 时间:
2016-07-14 08:30:59
阅读次数:
185
题目大概说给一个递增序列,询问区间出现最多的数。 用莫队算法比较直观,虽然应该会T。。好像也可以主席树。。不过题目给的序列是有序的,因而相同的数会聚在一起。 考虑把序列分成一段一段,使每段都包含极大的相同的数字 这样对于每一个区间查询: 可能这个区间左边或右边没有包含完整的一段,而其长度在段里对左或 ...
分类:
其他好文 时间:
2016-05-13 23:13:25
阅读次数:
215
题目传送门:http://poj.org/problem?id=3264 这道题就是简单的求最大值求最小值。 #include<cstdio> #include<cstring> #include<iostream> using namespace std; const int maxn=50010
分类:
其他好文 时间:
2016-03-02 23:39:41
阅读次数:
208
Language:
Frequent values
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 14377 Accepted: 5244DescriptionYou are given a sequence of n integers a1 , a2 , … , an in non-decreas...
分类:
其他好文 时间:
2015-04-24 16:22:34
阅读次数:
127
题目链接题目大意 有一个数字串长度为n,输入顺序为非递减,给出一个区间[L,R],要求算出区间中某个出现次数最多的数,答案为它出现的次数。
1. N<10510^5 , 区间数cas<10510^5
2. 多组测试,以0结尾
解题思路 因为数组是非递减序列,所以可以将数组分段。(也叫游程编码,Run Length Encoding RLE)
1.扫描一遍数组,求如下:...
分类:
其他好文 时间:
2015-04-04 12:21:30
阅读次数:
134
题意:给出q次询问,求区间内最长的连续序列。 水题。1.RMQ 求法 ,st算法 2.线段树,简单的区间合并#include#include#includeusing namespace std;const int maxn = 111111;const int INF = 99999999;int...
分类:
其他好文 时间:
2014-10-13 20:10:17
阅读次数:
221