E23 线性DP 股票买卖K笔交易

视频链接:https://www.bilibili.com/video/BV1ka4y1s7ER/

复制代码
#include<iostream>
#include<cstring>
using namespace std;

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

int main(){
  int n, k; cin >> n >> k;
  for(int i=1; i<=n; i++) cin >> w[i];
  
  for(int j=0; j<=k; j++) f[0][j][1]=-1e6;

  for(int i=1; i<=n; i++)
  for(int j=1; j<=k; j++){
    f[i][j][0]=max(f[i-1][j][0], f[i-1][j][1]+w[i]);
    f[i][j][1]=max(f[i-1][j][1], f[i-1][j-1][0]-w[i]);
  }
  
  cout << f[n][k][0];
}
复制代码
复制代码
// 空间优化
#include<iostream>
#include<cstring>
using namespace std;

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

int main(){
  int n, k; cin >> n >> k;
  for(int i=1; i<=n; i++) cin>>w[i];
  
  for(int j=0; j<=k; j++) f[j][1]=-1e6;
  
  for(int i=1; i<=n; i++)
  for(int j=1; j<=k; j++){      
    f[j][0]=max(f[j][0],f[j][1]+w[i]);
    f[j][1]=max(f[j][1],f[j-1][0]-w[i]);
  }
  cout << f[k][0];
}
复制代码

 

posted @   董晓  阅读(371)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示