比赛场次 604
比赛名称 SYOI 专题 4:分块(根号杂烩)
比赛状态 已结束比赛成绩
开始时间 2024-04-16 00:00:00
结束时间 2024-04-22 22:00:00
开放分组 全部用户
注释介绍 暴力是最好的算法。
讲解:https://www.cnblogs.com/HaoXu-qwq/articles/18124871
题目名称 蒲公英
输入输出 Dandelion.in/out
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试点数 20 简单对比
用户 结果 时间 内存 得分
Gravatarop_组撒头屯 AAAAAAAAAAAAAAAAAAAA
4.094 s 112.73 MiB 100

蒲公英

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

【题目背景】

亲爱的哥哥:

你在那个城市里面过得好吗?

我在家里面最近很开心呢。昨天晚上奶奶给我讲了那个叫「绝望」的大坏蛋的故事的说!它把人们的房子和田地搞坏,还有好多小朋友也被它杀掉了。我觉得把那么可怕的怪物召唤出来的那个坏蛋也很坏呢。不过奶奶说他是很难受的时候才做出这样的事的……

最近村子里长出了一大片一大片的蒲公英。一刮风,这些蒲公英就能飘到好远的地方了呢。我觉得要是它们能飘到那个城市里面,让哥哥看看就好了呢!

哥哥你要快点回来哦!

爱你的妹妹 $\rm Violet$

$\rm Azure$ 读完这封信之后微笑了一下。

“蒲公英吗……”

【题目描述】

在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。

为了简化起见,我们把所有的蒲公英看成一个长度为 $n$ 的序列 ($a_1,a_2..a_n$),其中 $a_i$ 为一个正整数,表示第 $i$ 棵蒲公英的种类编号。

而每次询问一个区间 $[l,r]$,你需要回答区间里出现次数最多的是哪种蒲公英,如果有若干种蒲公英出现次数相同,则输出种类编号最小的那个。

注意,你的算法必须是在线的。

【输入格式】

第一行两个整数 $n,m$,表示有 $n$ 株蒲公英,$m$ 次询问。

接下来一行 $n$ 个空格隔开的整数 $a_i$, 表示蒲公英的种类。

再接下来 $m$ 行每行两个整数 $l_0,r_0$,我们令上次询问的结果为 $x$(如果这是第一次询问,则 $x=0$)。

令 $l=(l_0+x-1) \bmod \ n +1,r=(r_0+x-1) \bmod \ 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$% 的数据,保证 $1≤n,m≤3000$。

对于 $100$% 的数据,保证 $1≤n≤40000,1≤m≤50000,1≤a_i≤10^9$。

【来源】

《算法竞赛进阶指南》