动态规划(算法竞赛、蓝桥杯)--单调队列优化绿色通道

1、B站视频链接:E45 单调队列优化DP 绿色通道_哔哩哔哩_bilibili

cpp 复制代码
#include <bits/stdc++.h> 
using namespace std;
const int N=5e4+10;
int n,tim,w[N],f[N],q[N];

bool check(int m){
  int h=1,t=0;
  for(int i=1; i<=n; i++){
    while(h<=t && f[q[t]]>=f[i-1]) t--;
    q[++t]=i-1;
    if(q[h]<i-m) h++;
    f[i]=f[q[h]]+w[i];
    if(i>n-m && f[i]<=tim) return 1;//r指针左移 
  }
  return 0;
}
int main(){
  cin>>n>>tim;
  for(int i=1;i<=n;i++) cin>>w[i];
  int l=-1,r=n+1;
  while(l+1<r){
    int mid=l+r>>1;
    if(check(mid)) r=mid;
    else l=mid;
  }
  cout<<r-1; //空题段长度
}
相关推荐
沉鱼.4420 小时前
第十届题目
算法
y = xⁿ20 小时前
【LeetCode Hot100】动态规划:T70:爬楼梯 T118:杨辉三角形 T198:打家劫舍
算法·leetcode·动态规划
Liangwei Lin20 小时前
洛谷 P1460 [USACO2.1] 健康的荷斯坦奶牛 Healthy Holsteins
数据结构·算法
汀、人工智能20 小时前
02 - 变量与数据类型
数据结构·算法·链表·数据库架构··02 - 变量与数据类型
hello!树20 小时前
函数极限的概念和性质
算法
人道领域20 小时前
【LeetCode 刷题日】19.删除链表的倒数第n个节点
算法·leetcode·链表
小白zlm20 小时前
连续系统-离散系统的转换
算法·嵌入式·电机控制·pmsm
py有趣20 小时前
力扣热门100题之最大子数组和
算法·leetcode
汀、人工智能20 小时前
03 - 运算符
数据结构·算法·数据库架构·位运算·哈希表·03 - 运算符
小肝一下20 小时前
每日两道力扣,day4
c++·算法·leetcode·职场和发展