码迷,mamicode.com
首页 > 其他好文 > 详细

30 August

时间:2019-08-30 14:13:47      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:hub   复习   实现   P20   class   noip   noi   递推   ++i   

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

标签:hub   复习   实现   P20   class   noip   noi   递推   ++i   

原文地址:https://www.cnblogs.com/greyqz/p/11434316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!