题解:
简单dp
dp[i]=min(dp[i-j])+1;
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=;
int n,m,dp[N];
char s[N];
int main()
{
scanf("%d%d",&n,&m);
scanf("%s",&s);
memset(dp,-,sizeof dp);
dp[]=;
for (int i=;i<n;i++)
if (dp[i]!=-)for (int j=;j<=m;j++)
if (i+j<n&&s[i+j]!=''&&(dp[i+j]==-||dp[i+j]>dp[i]+))
dp[i+j]=dp[i]+;
printf("%d",dp[n-]);
}