大佬帮帮小白

题目总版

```cpp #include<bits/stdc++.h> long long n,s[1001],f[1001][1001],a[1001],i,x,j; using namespace std; int main() { cin>>n; for(i=1;i<=n;i++){ cin>>a[i]; s[i]=s[i-1]+a[i]; f[i][i]=a[i]; } for(x=2;x<=n;x++) for(i=1;i<=n-x+1;i++){ j=i+x-1; f[i][j]=max(a[i]+a[j]-s[i]-f[i+1][j],a[j]+s[j-1]-s[i-1]-f[i][j-1]); } cout<<f[1][n]<<' '<<s[n]-f[1][n]; return 0; } ``` 对56分,WA
by 码农同志 @ 2020-08-02 21:44:36


本白用的是还不是很熟的合并类DP,大佬轻喷
by 码农同志 @ 2020-08-02 21:46:53


@[码农同志](/user/268200) ???计算机是指以最优策略取数吗?还是指随机取数?
by chenzida @ 2020-08-02 21:49:16


应该是指最优策略
by 码农同志 @ 2020-08-02 21:53:23


@[码农同志](/user/268200) 那你的 $f[l][r]$ 的含义是什么?
by chenzida @ 2020-08-02 21:57:34


|