E24 线性DP 股票买卖含冷冻期

E24 线性DP 股票买卖含冷冻期_哔哩哔哩_bilibili

 

U298750 股票买卖 V - 洛谷

// 
#include<bits/stdc++.h>
using namespace std;

const int N=100010;
int n,w[N],f[N][2];

int main(){
  cin>>n;
  for(int i=1; i<=n; i++) cin>>w[i];
  
  f[0][0]=0; f[1][0]=0; f[1][1]=-w[1]; 
  
  for(int i=2; i<=n; i++){   
    f[i][0]=max(f[i-1][0],f[i-1][1]+w[i]);
    f[i][1]=max(f[i-1][1],f[i-2][0]-w[i]);
  }
  cout<<f[n][0];
}

 

// 
#include<bits/stdc++.h>
using namespace std;

const int N=100010;
int n,w[N],f[N][3];

int main(){
  cin>>n;
  for(int i=1; i<=n; i++) cin>>w[i];
  
  f[0][1]=-1e7; f[0][0]=-1e7; f[0][2]=0;
  
  for(int i=1; i<=n; i++){
    f[i][1]=max(f[i-1][1],f[i-1][2]-w[i]);
    f[i][0]=f[i-1][1]+w[i];
    f[i][2]=max(f[i-1][0],f[i-1][2]);
  }
  printf("%d\n",max(f[n][0],f[n][2]));
}

 

posted @ 2023-04-10 10:10  董晓  阅读(546)  评论(0)    收藏  举报