股票买卖最多K笔交易(线性dp)
股票买卖最多K笔交易
#include
using namespace std;
const int N = 100005;
int f[N][105][2];
int w[N];
int main(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>w[i];
for(int j=0;j<=2;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-1][j-1][0]表示完成了i-1天j-1次交易
//f[i][j][1] = f[i-1][j-1][0]-w[i]表示
//在完成了i-
共有 0 条评论