#P16917. [JLCPC 2026] 题列序 1

    ID: 17153 Type: RemoteJudge 5000ms 1024MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>吉林Special JudgeO2优化2026省赛/邀请赛

[JLCPC 2026] 题列序 1

题目描述

给定一个长度为 nn 且值域在 [0,2][0,2] 的整数序列 aa。定义一次操作如下:

  • 选择下标 xx(1≤x≤n−21 \le x \le n - 2);
  • 令 s=(ax+ax+1+ax+2) mod 3s=(a_x+a_{x+1}+a_{x+2}) \bmod 3,然后将 ax,ax+1,ax+2a_x, a_{x+1}, a_{x+2} 同时变为 ss。

你需要做若干次操作(可以不做)以最大化 aa 序列所有数的和。同时,你需要给出一种合法操作方案,该方案的操作次数不超过 ⌊57n⌋+100\left\lfloor\dfrac{5}{7}n\right\rfloor+100。可以证明总是存在满足操作次数限制的方案。

输入格式

第一行有一个整数 TT(1≤T≤10001 \le T \le 1000),表示数据组数。接下来 TT 段,每段描述一组数据:

  • 第一行输入一个整数 nn(3≤n≤1063 \le n \le 10^6),表示序列 aa 的长度。
  • 第二行包含 nn 个整数,第 ii 个整数表示 aia_i(0≤ai≤20 \le a_i \le 2)。

数据保证 ∑n≤106\sum n \le 10^6。

输出格式

对于每组数据:

  • 第一行输出两个整数 ss 和 KK,分别表示序列和的最大值以及你给出的方案的操作次数,你需要保证 $0 \le K \le \left\lfloor\dfrac{5}{7}n\right\rfloor + 100$。
  • 接下来一行输出 KK 个正整数,第 ii 个整数表示第 ii 次操作选择的 xx。
3
3
0 1 0
5
0 2 1 2 2
7
1 1 1 1 1 1 1
3 1
1
10 4
2 2 3 1
14 5
1 3 4 5 1