B
题目大意:给定一个包含 $n$ 行 $m$ 列的表格。初始时,第 $i$ 行第 $j$ 列的单元格颜色为 $a_{i, j}$。我们称两个单元格是陌生人(strangers)如果它们不共享任何一条边(允许通过角落接触)。我们称一个单元格集合为陌生人集合(set of strangers),当且仅当集合中任意两个单元格都是陌生人。根据定义,包含不超过一个单元格的集合总是陌生人集合。在每一步操作中,你可以选择一个满足以下条件的陌生人集合:集合中所有单元格颜色相同,并将它们全部涂成另一种颜色(可以选择任意一种颜色作为结果颜色)。问:要将整个表格涂成同一种颜色,最少需要多少步操作?
数据范围:$1 \le t \le 10^4$,$1 \le n \le m \le 700$,$1 \le a_{i, j} \le nm$,$\sum nm \le 5 \cdot 10^5$。
思路:
| |
C
题目大意:我们称一个整数序列为美丽的(beautiful),当且仅当满足以下条件: - 序列长度至少为 $3$; - 对于除第一个元素外的每个元素,其左侧存在一个比它小的元素; - 对于除最后一个元素外的每个元素,其右侧存在一个比它大的元素; 给定一个大小为 $n$ 的整数数组 $a$,其中每个元素均为 $1$ 到 $3$ 之间的整数。需要计算数组 $a$ 中美丽子序列的数量。
数据范围:$1 \le t \le 10^4$,$3 \le n \le 2 \cdot 10^5$,$1 \le a_i \le 3$,$\sum n \le 2 \cdot 10^5$。
思路:
| |
D
题目大意:给定一个由小写拉丁字母组成的字符串 $s$。你可以对字符串 $s$ 执行以下操作:选择一个连续的(可能为空的)子串,并对其进行洗牌(即重新排列子串中的字符顺序)。需要确定为了将给定字符串 $s$ 转换为回文,必须进行操作的最小子串长度。
数据范围:$1 \le t \le 10^4$,$2 \le |s| \le 2 \cdot 10^5$,$\sum |s| \le 2 \cdot 10^5$。
思路:
| |
E
题目大意:给定一个由字符 A 和 B 组成的字符串 $s$。需要将它分割成长度为 $1$ 或 $2$ 的块,使得: - “A” 类型的块数量不超过 $a$; - “B” 类型的块数量不超过 $b$; - “AB” 类型的块数量不超过 $ab$; - “BA” 类型的块数量不超过 $ba$; 其中 “AA” 和 “BB” 类型的块是被禁止的。原始字符串 $s$ 的每个字符必须恰好属于一个块。
数据范围:$1 \le t \le 10^4$,$1 \le |s| \le 5 \cdot 10^5$,$0 \le a, b, ab, ba \le 5 \cdot 10^5$,$\sum |s| \le 5 \cdot 10^5$。
思路:
| |
