小齐的技能团队(dp)

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

ll f[10004];
ll a[10004];

int main() {
	int n,k;cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++){
		ll c=0; // 当前段的最大技能水平
		for(int j=i;j>=max(1,i-k+1);j--){ // 从第i头奶牛向前遍历,最多k头奶牛
			c=max(c,a[j]);
			f[i]=max(f[i],f[j-1]+c*(i-j+1));
		}
	}
	cout<<f[n];
	
    return 0;
}
复制代码
状态转移:f[i] = max(f[i], f[j-1] + 当前段最大值 * 当前段长度)
相关推荐
王维同学11 分钟前
Winsock 协议与名称空间 Provider 目录
网络·c++·windows·安全
拳里剑气2 小时前
C++算法:BFS解决FloodFill算法
c++·算法·bfs·宽度优先
爱写代码的小朋友2 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
小小晓.2 小时前
C++:语句和作用域
开发语言·c++
fqbqrr3 小时前
2607C++,soui,xplayer视频播放器
c++·soui
wanderist.3 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
zh路西法4 小时前
【10天速通ROS2-PX4无人机】(四) 关掉GPS和气压计,纯激光定位还能飞吗
c++·无人机·px4·ros2·卡尔曼滤波·fastlio2
稚南城才子,乌衣巷风流4 小时前
支配树(Dominator Tree)详解:概念、算法与应用
算法
稚南城才子,乌衣巷风流4 小时前
动态开点:原理、实现与应用场景
数据结构·算法