51nod 1270 数组的最大代价
Posted Draymonder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1270 数组的最大代价相关的知识,希望对你有一定的参考价值。
感觉自己最近状态好差劲啊
做题都得提前看一下题解
不过这题也没那么难,可以大概知道的是 如果要满足代价最大,A【i】的值不是1就是B【i】
#include<bits/stdc++.h> using namespace std; int s[50010],dp[50010][2]; int main () { int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&s[i]); for(int i=2;i<=n;i++) { dp[i][0] = max(dp[i-1][0],dp[i-1][1]+abs(s[i-1]-1)); //第i位为1 dp[i][1] = max(dp[i-1][0]+abs(s[i]-1),dp[i-1][1]+abs(s[i]-s[i-1]));//第i位为s[i] } printf("%d",max(dp[n][0],dp[n][1])); }
以上是关于51nod 1270 数组的最大代价的主要内容,如果未能解决你的问题,请参考以下文章