AT_2_stpc2025_2_e.Max Twice Subsequences (Easy)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的正整数序列 A=(A1,A2,…,AN)。
请你回答 Q 次查询。对于第 i 个查询,给出整数 Li,Ri,请你对 B=(ALi,ALi+1,…,ARi) 求解如下问题:
给定正整数序列 B=(B1,B2,…,B∣B∣)。如果存在正整数序列 C=(C1,C2,…,Ck) 满足 C 作为 B 的非空子序列出现至少两次(形式上,存在正整数 k 和两组下标序列 (i1,i2,…,ik),(j1,j2,…,jk) 满足以下所有条件,使得 C 被称为好序列):
- 1≤i1<i2<⋯<ik≤∣B∣
- 1≤j1<j2<⋯<jk≤∣B∣
- 对于 p=1,2,…,k,均有 Bip=Bjp=Cp
- 存在某个 p (1≤p≤k) 使得 ip=jp
判断是否存在好序列。如果存在,输出好序列中字典序最大的一个的 滚动哈希。正整数序列 a=(a1,…,an) 的 滚动哈希 定义为 (i=1∑nai3i−1)mod998244353。如果不存在好序列,输出 −1。
保证所有查询的 Ri−Li+1 的总和不超过 107。
输入格式
输入如下所示:
N Q
A1 A2 … AN
L1 R1
L2 R2
⋮
LQ RQ
输出格式
输出共 Q 行。第 i 行输出对应 B=(ALi,ALi+1,…,ARi) 的答案。
输入输出样例
输入#1
5 4 3 2 1 2 3 1 5 1 3 2 4 2 5
输出#1
36 -1 2 11
输入#2
5 1 3 2 1 4 1 1 5
输出#2
18
输入#3
10 10 1 4 5 2 5 3 4 2 5 4 1 10 1 9 2 10 1 8 2 9 3 10 1 7 2 8 3 9 4 10
输出#3
56 20 56 35 20 56 17 35 20 17
说明/提示
样例解释 1
对于第 1 个查询,B=(3,2,1,2,3)。作为非空子序列至少出现两次的序列中字典序最大的为 (3,2,3)。对于它,可以取两组下标序列分别为 (1,2,5),(1,4,5)。
第 2 个查询,B=(3,2,1),不存在至少出现两次的非空子序列。
第 3 个查询,B=(2,1,2),作为非空子序列至少出现两次的最大字典序为 (2)。
第 4 个查询,B=(2,1,2,3),作为非空子序列至少出现两次的最大字典序为 (2,3)。
数据范围
- 所有输入均为整数。
- 1≤N,Q≤3×105
- 1≤Ai≤N (1≤i≤N)
- 1≤Li≤Ri≤N (1≤i≤Q)
- ∑i=1Q(Ri−Li+1)≤107
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?