小齐的技能团队(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] + 当前段最大值 * 当前段长度)
相关推荐
Gauss松鼠会几秒前
GaussDB(DWS) 资源监控Topsql
java·网络·数据库·算法·oracle·性能优化·gaussdb
夏日听雨眠1 分钟前
数据结构(快速排序)
java·数据结构·算法
薇茗2 分钟前
【初阶数据结构】 升沉有序的平仄 排序 3
c语言·开发语言·数据结构·算法·排序算法·文件归并排序
字节高级特工4 分钟前
C++11(一) 革新:右值引用与移动语义
java·开发语言·c++·人工智能·后端
孬甭_4 分钟前
双向链表详解
c语言·数据结构·链表
薇茗4 分钟前
【初阶数据结构】 升沉有序的平仄 排序 2
c语言·数据结构·算法·排序算法·快排精讲
叶之香7 分钟前
一次 Kingston U 盘重定向中获取 Device Descriptor 超时问题排查
c++·windows·visual studio
UestcXiye7 分钟前
GoogleTest 使用指南 | 单元覆盖率分析
c++·单元测试·googletest
AI科技星9 分钟前
强哥德巴赫猜想(1+1)终极证明(2026 年5月 21 日)
开发语言·人工智能·算法·计算机视觉·量子计算
人道领域9 分钟前
【LeetCode刷题日记】654.最大二叉树:递归算法详解
java·算法·leetcode