CF2043G.Problem with Queries
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数数组 a,长度为 n。你的任务是处理 q 个查询,这些查询分为两种类型:
- 类型 1:
1 p x— 将数组中索引为 p 的元素值更新为 x; - 类型 2:
2 l r— 计算数组 a 中满足条件的索引对 (i,j) 的数量,其中 l≤i<j≤r 且 ai=aj。
请注意,这些查询是编码过的;每个后续查询必须在解出前一个类型 2 查询的答案后才能解码。
输入格式
第一行输入一个整数 n,表示数组的长度(1≤n≤105)。
第二行输入 n 个整数,分别为 a1,a2,…,an(1≤ai≤n)。
第三行输入一个整数 q,代表要处理的查询数量(1≤q≤3⋅105)。
接下来的 q 行中,每行描述了一个查询,格式如下:
- 类型 1:以
1 p' x'的形式给出(0≤p′,x′≤n−1); - 类型 2:以
2 l' r'的形式给出(0≤l′,r′≤n−1)。
查询的解码规则如下:设 last 为最近一次处理的类型 2 查询的答案(最初,last=0)。
- 如果是类型 1 查询,则 p=((p′+last)modn)+1,x=((x′+last)modn)+1。
- 如果是类型 2 查询,则 l=((l′+last)modn)+1,r=((r′+last)modn)+1。如若 l>r,则将两者交换。
请务必在回答每一个类型 2 查询后更新 last 的值。
输入保证至少有一个类型 2 的查询。
输出格式
对于每一个类型 2 的查询,输出一个整数,即满足条件的索引对 (i,j) 的数量,其中 l≤i<j≤r 且 ai=aj。
本翻译由 AI 自动生成
输入输出样例
输入#1
3 1 2 3 5 2 0 2 1 0 2 2 0 2 1 2 0 2 1 0
输出#1
3 2 0
输入#2
7 1 3 4 4 7 1 3 3 2 1 6 2 1 0 2 5 6
输出#2
13 18 0
输入解题思路,AI测评打分。不知道怎么写?