今天记录一下字符串的读入操作
第一种
string a;
getline(cin,a);
int length = a.size();
or int length = a.length();
第二种
char a[N];
cin.get(a,n) //n为接受的字符串长度
or cin.getline(a,n);
int len = strlen(a);
时间复杂度: O(n3)
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 310;
int n,s[N],f[N][N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>s[i];
s[i]+=s[i-1];
}
for(int len =2;len<=n;len++) //区间长度
{
for(int l=1;l+len-1<=n;l++)
{
int r = l +len -1;
f[l][r] = 1e9;
for(int k = l;k<r;k++)
{
f[l][r] = min(f[l][r],f[l][k]+f[k+1][r]+s[r]-s[l-1]);
}
}
}
cout<<f[1][n]<<endl;
return 0;
}