zoukankan      html  css  js  c++  java
  • 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]));
    }
  • 相关阅读:
    【心情】codeforces涨分啦!
    redis
    rabbitmq
    lucene
    MongoDB
    负载均衡
    分布式存储
    Memcache
    websocket
    Remoting
  • 原文地址:https://www.cnblogs.com/Draymonder/p/7376320.html
Copyright © 2011-2022 走看看