小齐的技能团队(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] + 当前段最大值 * 当前段长度)
相关推荐
TracyCoder12317 分钟前
LeetCode Hot100(34/100)——98. 验证二叉搜索树
算法·leetcode
A尘埃17 分钟前
电信运营商用户分群与精准运营(K-Means聚类)
算法·kmeans·聚类
A星空1231 小时前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
凡人叶枫1 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
power 雀儿1 小时前
掩码(Mask)机制 结合 多头自注意力函数
算法
会叫的恐龙1 小时前
C++ 核心知识点汇总(第六日)(字符串)
c++·算法·字符串
小糯米6011 小时前
C++顺序表和vector
开发语言·c++·算法
独望漫天星辰2 小时前
C++ 多态深度解析:从语法规则到底层实现(附实战验证代码)
开发语言·c++
We་ct2 小时前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析
前端·算法·leetcode·typescript
Lionel6892 小时前
分步实现 Flutter 鸿蒙轮播图核心功能(搜索框 + 指示灯)
算法·图搜索算法