1、B站视频链接:E24 线性DP 股票买卖含冷冻期_哔哩哔哩_bilibili
#include <bits/stdc++.h>
using namespace std;
const int N=100010;
int w[N],f[N][3];int main(){int n;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]));return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int N=100010;
int w[N],f[N][2];int main(){int n;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];return 0;
}