题目名称 2239. 数字查询
输入输出 numquery.in/out
难度等级 ★★★☆
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatarcqw 于2016-04-15加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:23, 提交:60, 通过率:38.33%
Gravatar阿狸 100 1.801 s 33.60 MiB C++
GravatarAglove 100 1.992 s 33.60 MiB C++
Gravatar┭┮﹏┭┮ 100 2.208 s 140.22 MiB C++
Gravatar再见 100 2.641 s 34.51 MiB C++
Gravatar葳棠殇 100 2.701 s 157.32 MiB C++
Gravatarlihaoze 100 2.931 s 90.44 MiB C++
Gravatarassassain 100 2.980 s 33.58 MiB C++
Gravatarfeng 100 3.120 s 33.75 MiB C++
Gravatar葳棠殇 100 3.172 s 47.02 MiB C++
Gravatar葳棠殇 100 3.236 s 47.02 MiB C++
本题关联比赛
20160415x
关于 数字查询 的近10条评论(全部评论)
Cnt[i][j]表示数字i在1~j块的出现次数。
Ans[i][j]表示i~j块的答案。
然后暴力暴力暴力。。。。。。
Gravatar再见
2017-06-15 14:13 1楼

2239. 数字查询

★★★☆   输入文件:numquery.in   输出文件:numquery.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】

给你N个正整数组成的序列,现在需要多次查询区间[L,R]内,哪个数字出现的次数最多,找到并输出。如果出现次数最多的有多个数字,请输出值最小的那个数值。

当然,为了不被各种离线查询水掉,本道题强制在线

【输入格式】

第一行两个整数N和M,表示有N个正整数,M次查询。

接下来一行,N个空格分隔开的整数Ai。

M行,每行两个整数L0和R0,如果上次查询的结果为x(如果第一次查询,x=0)

则 L=(L0+x-1) mod n +1   R=(R0+x-1) mod n+1

如果L>R ,则交换L和R,这次的查询区间为[L,R]。

【输出格式】

M行,每行一个整数,表示每次查询的结果

【样例输入】

6 3

1 2 3 2 1 2

1 5

3 6

1 5

【样例输出】

1

2

1

【提示】


【数据范围】

  20%  N,M<=3000

  100%  1<=N<=40000  1<=M<=50000  Ai在[1,10^9]之间


【来源】

在此键入。