P16917 [JLCPC 2026] 题列序 1
题目描述
给定一个长度为 $n$ 且值域在 $[0,2]$ 的整数序列 $a$。定义一次操作如下:
- 选择下标 $x$($1 \le x \le n - 2$);
- 令 $s=(a_x+a_{x+1}+a_{x+2}) \bmod 3$,然后将 $a_x, a_{x+1}, a_{x+2}$ 同时变为 $s$。
你需要做若干次操作(可以不做)以最大化 $a$ 序列所有数的和。同时,你需要给出一种合法操作方案,该方案的操作次数不超过 $\left\lfloor\dfrac{5}{7}n\right\rfloor+100$。可以证明总是存在满足操作次数限制的方案。
输入格式
第一行有一个整数 $T$($1 \le T \le 1000$),表示数据组数。接下来 $T$ 段,每段描述一组数据:
- 第一行输入一个整数 $n$($3 \le n \le 10^6$),表示序列 $a$ 的长度。
- 第二行包含 $n$ 个整数,第 $i$ 个整数表示 $a_i$($0 \le a_i \le 2$)。
数据保证 $\sum n \le 10^6$。
输出格式
对于每组数据:
- 第一行输出两个整数 $s$ 和 $K$,分别表示序列和的最大值以及你给出的方案的操作次数,你需要保证 $0 \le K \le \left\lfloor\dfrac{5}{7}n\right\rfloor + 100$。
- 接下来一行输出 $K$ 个正整数,第 $i$ 个整数表示第 $i$ 次操作选择的 $x$。