求助 DP
  • 板块学术版
  • 楼主WOWHandsome
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/8/2 11:15
  • 上次更新2023/11/6 21:31:48
查看原帖
求助 DP
101855
WOWHandsome楼主2020/8/2 11:15

【题目描述】

小康的花园里有n盏灯,由于灯的数量比较多,小康用1和0来表示灯的开关状态,1表示灯开着,0表示灯是关的。小康现在想要通过调整灯的开关状态,让自己每一盏相邻的开着的灯的距离刚好为k(k为正整数),每次操作他可以选择一盏灯进行开或者关。即两个位置相邻的状态为1的灯之间需要有k-1盏状态为0的灯。例如k=3,那么000010010是可以的,1001001也是可以的,0也是可以的。0010101则不行,0001001000001也不行。注意n盏灯的摆放是链状的。 现在给你n盏灯的初识状态,你的任务是帮助小康,通过调整灯的开关状态,满足状态1的灯距离为k,计算出所需要的最少操作次数。

【输入格式】

第一行输入两个数n和k,分别表示灯的数量和距离。(1<=n<=10^6,1<=k<=n)

第二行输入一个字符串s,仅由0和1表示,表示n盏灯的开关状态。

【输出格式】

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

【输入样例1】

10 3

1001110101

【输出样例1】

4

【输入样例2】

1 1

0

【输出样例2】

0

【数据范围】

30%的数据,1<=n<=100,k<=n

50%的数据,1<=n<=10000,k<=n

100%的数据,1<=n<=10^6,k<=n


求 DP 线性做法,我们几个人已经乱搞搞了 3h 了

2020/8/2 11:15
加载中...