区间dp-248
陈子骏
2018-04-01 16:51:56
```cpp
#include<cstdio>
#include<algorithm>
using namespace std;
int n,f[250][250],ans;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&f[i][i]);
for(int i=n-1;i>=1;i--)
for(int j=i+1;j<=n;j++)
{
for(int k=i;k<j;k++)
if(f[i][k]==f[k+1][j])
f[i][j]=max(f[i][j],f[i][k]+1);
ans=max(ans,f[i][j]);
}
printf("%d",ans);
}
```