当前位置: 首页 > news >正文

LG11793

注意到 \(N \times M \le 2\times 10^7\),因此不难得到一个 dp 做法。设 \(f_i\) 表示把前 \(i\) 个橙子装进箱子内的最小成本,则不难得到以下转移式:

\[f_i=\min_{i-j\le m,0 \le j < i} f_j+k+ ( i - j ) \times ( \max_{j < k \le i} a_k - \min_{j < k \le i} a_k ) \]

同时注意到最大最小值可以在倒着枚举 \(j\) 的时候顺便求出来,因此也容易做到时间复杂度 \(O(NM)\)

#include <iostream>
#include <cstdio>
#define ll long long
#define N 200010using namespace std;int n,m,k;
ll f[N],a[N],mx,mi;int main()
{cin >> n >> m >> k;for( int i = 1 ; i <= n ; i ++ )cin >> a[i];for( int i = 1 ; i <= n ; i ++ ){f[i] = f[i - 1] + k;mx = mi = a[i];for( int j = i - 1 ; j >= max( i - m , 0 ) ; j -- ){f[i] = min( f[i] , f[j] + k + ( i - j ) * ( mx - mi ) );mx = max( mx , a[j] ),mi = min( mi , a[j] );}// cout << f[i] << endl;}cout << f[n];return 0;
}
http://www.zskr.cn/news/2742.html

相关文章:

  • 【GitHub每日速递】无需提示词!Nano Bananary香蕉超市:AI绘画玩法多到停不下来
  • Drift数据库开发实战:类型安全的SQLite解决方案
  • DELPHI FireDAC连接EXCEL文件
  • 当我们红尘作伴,活得潇潇洒洒
  • 二叉树理论
  • 栈和队列总结
  • Python-课后题题目-1.1编程世界初探
  • 引用类型
  • CF1237C2
  • linux环境docker离线镜像elasticsearch-7.17.3镜像资源
  • part 4
  • systemctl的service脚本写法
  • 9月份美联储的降息利好
  • 口胡记录
  • Day16内存分析及初始化
  • Vue3项目中集成AI对话功能的实战经验分享
  • CSP 赛前周记
  • Day16
  • 20250906
  • 在用灵魂去感受另一个灵魂的震颤
  • 百粉粉福
  • 202404_QQ_ZIP嵌套
  • 【初赛】图 - Slayer
  • POJ 2566 Bound Found
  • CF1140F Extending Set of Points
  • Lark免费企业邮箱推荐
  • 耶日奈曼:置信区间与假设检验的奠基者
  • vue3 使用 i18n-auto-extractor库 实现国际化
  • 20231314许城铭课上测试:Linux命令实践(AI)
  • reLeetCode 热题 100-3 最长连续序列 - MKT