1. 程式人生 > >51nod 1270 數組的最大代價

51nod 1270 數組的最大代價

bit -s names main () 如果 ace spa clu

感覺自己最近狀態好差勁啊

做題都得提前看一下題解

不過這題也沒那麽難,可以大概知道的是 如果要滿足代價最大,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 數組的最大代價