30 August
Posted greyqz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30 August相关的知识,希望对你有一定的参考价值。
DP 复习。
参考 redbag 博客 提供的题表。
P2858 [USACO06FEB] Treats for the Cows
区间 DP。
转换思路,题面从外往里递推,我们采用从里往外递推,权值逐级递减的反向实现方式。
选择区间左端点或右端点更新答案。
int n, a[2003], f[2003][2003];
int main()
scanf("%d", &n);
for (int i=1; i<=n; ++i) scanf("%d", &a[i]), f[i][i]=a[i]*n;
for (int k=1; k<n; ++k) for (int i=1; i+k<=n; ++i)
f[i][i+k]=max(f[i+1][i+k] + a[i]*(n-k), f[i][i+k-1] + a[i+k]*(n-k));
printf("%d\n", f[1][n]);
return 0;
P2867 [USACO06NOV] Big Square
多重背包。
以上是关于30 August的主要内容,如果未能解决你的问题,请参考以下文章
August 30th 2017 Week 35th Wednesday
RAD Studio August 2018 Roadmap