1 条题解
-
0
区间dp板子题
#include<iostream> #include<cmath> using namespace std; int n,f[2052][2052],v[2052]; int main() { ios::sync_with_stdio(false); cin>>n; for(int i=1; i<=n; i++)cin>>v[i]; for(int i=1; i<=n; i++)f[i][i]=v[i]*n; for(int i=2; i<=n; i++) { for(int l=1; l<=n; l++) { int r=l+i-1; if(r>n)break; f[l][r]=max(f[l][r-1]+v[r]*(n-i+1),f[l+1][r]+v[l]*(n-i+1)); } } cout<<f[1][n]<<endl; return 0; }
- 1
信息
- ID
- 6888
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者