#C. 修改 01 序列

    Type: Default 1000ms 256MiB

修改 01 序列

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

【题目描述】

长度为 𝑛𝑛 的只包含 𝟎 和 1 的序列,你可以对它进行多次操作。在每次操作中,你都可以选择一个数字 0 变成 1, 或者选择一个数字 1 变成 0,使得最终局面满足如下特点:

对于任意相邻的两个 1,它们在序列中的距离都是 𝑑𝑑 的倍数,给定 𝑑𝑑,求最小操作次数。

长度为 𝑛𝑛 的只包含 0 和 1 的序列,每次操作选一个 0 变 1 或者 1 变 0,使得最终局面的相邻的两个 1 之间距离是 𝑑𝑑 的倍数,问最小操作次数。

【输入格式】

第一行输入两个正整数 𝑛𝑛, 𝑑𝑑。 第二行输入 nn 个数,表示题目所描述的序列。

【输出格式】

输出一个数,表示最小操作次数。

【样例 1 输入】

5 2
0 1 0 0 1

【样例 1 输出】

1

【说明】

将任何一个 1 变成 0,这样就没有相邻的 1 了,自然也满足题目要求。

【样例 2 输入】

8 2
1 0 1 0 0 0 1 1

【样例 2 输出】

1

【说明】

将最后一个 1 变成 0,这样序列变为 [1,0,1,0,0,0,1,0],1 的位置分别是 [1,3,7],其中 1 和 3 的距离是 2 的倍数,3 和 7 的距离也是 2 的倍数。 【备注】

  • 对于测试点1:1𝑛1051 \le 𝑛 \le 10^5 , 𝑑=1𝑑 = 1
  • 对于测试点2~ 3:1𝑛1051 \le 𝑛 \le 10^5 , 𝑑=2𝑑 = 2
  • 对于测试点4~ 5:1𝑑𝑛1031 \le 𝑑 \le 𝑛 \le 10^3
  • 对于测试点6~ 10:1𝑑𝑛1051 \le 𝑑 \le 𝑛 \le 10^5

NOIP4测

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2024-11-13 18:00
End at
2024-11-13 22:00
Duration
4 hour(s)
Host
Partic.
7