问题描述:
给出一个字符串,要求分成k段,每段包含给定单词的数目尽量多,求最多包含几个单词
题解:
这道题还是有点难想的,
f[i][j]表示1到i分成j段的最多单词数,f[i][j]=max(f[i][j],f[k][j-1]+a[k+1][i])
其中a[i][j]表示i到j中包含的单词数。这个可以暴力搞。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
int n,p,m;
char s[300],word[20][210];
int sa[300][300