CF371A K-Periodic Array

题目描述

本题仅关注所有元素均为 1 或 2 的数组。 如果一个数组 $a$ 的长度可以被 $k$ 整除,且存在长度为 $k$ 的数组 $b$,使得数组 $a$ 恰好由 $b$ 连续重复 $ \frac{n}{k} $ 次拼接而成,则称数组 $a$ 是 $k$ 周期的。换句话说,数组 $a$ 是 $k$ 周期的,如果它具有长度为 $k$ 的周期。 例如,任何长度为 $n$ 的数组都是 $n$ 周期的。数组 $[2,1,2,1,2,1]$ 同时是 2 周期和 6 周期的,而数组 $[1,2,1,1,2,1,1,2,1]$ 同时是 3 周期和 9 周期的。 给定一个只包含 1 和 2 的数组 $a$ ,请找出至少需要改变多少个元素才能使数组成为 $k$ 周期的。如果数组本来就是 $k$ 周期的,则所需操作数为 0。

输入格式

输入的第一行包含两个整数 $n$、$k$,其中 $1 \leq k \leq n \leq 100$,$n$ 是数组的长度,且 $n$ 能被 $k$ 整除。第二行包含 $n$ 个只为 1 或 2 的整数 $a_1, a_2, \ldots, a_n$,其中 $a_i$ 表示数组的第 $i$ 个元素。

输出格式

输出将数组变为 $k$ 周期所需改变的最小元素个数。如果数组本来就是 $k$ 周期的,则输出 0。

说明/提示

在第一个样例中,只需将第 4 个元素从 2 变为 1,数组就变为 $[2,1,2,1,2,1]$。 在第二个样例中,给定的数组本身就是 4 周期的。 在第三个样例中,只需将每个出现的 2 变成 1,数组将变为 $[1,1,1,1,1,1,1,1,1]$ ——这个数组同时是 1 周期、3 周期和 9 周期的。 由 ChatGPT 5 翻译