【题目描述】
小康的花园里有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 了