[第1章 1.2t8] 琪露诺
151 字
1 分钟
[第1章 1.2t8] 琪露诺
//跟上一题有异曲同工之妙,把区间掰成两段,先把满足l的入队并排序//接着消除不满足r的元素,使用dp不断计算每个位置的最大收益//最后注意并非每个位置都可退出游戏,需要在合法i位置取最大值//注意窗口主要维护的是j,i只是比较对象#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll INF=-1e18;int main(){ ll n,l,r; cin>>n>>l>>r; vector<ll> a(n+1); vector<ll> gain(n+1,INF); gain[0]=0; deque<ll> qq; for(ll i=0;i<=n;i++)cin>>a[i]; ll j=0; ll ans=INF; for(ll i=1;i<=n;i++){ while(i>=j+l){ if(gain[j]!=INF){ while(!qq.empty()&&gain[qq.back()]<gain[j])qq.pop_back(); qq.push_back(j); } j++; } while(!qq.empty()&&i-qq.front()>r)qq.pop_front(); if(!qq.empty()){ gain[i]=gain[qq.front()]+a[i]; if(i+r>n)ans=max(ans,gain[i]); } } cout<<ans<<endl; return 0;}支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
16怪兽:手搓迷你容器
深入技术用 namespace 与 cgroups 亲手拼出一个最小可用的容器,回头对照 Docker 的每个概念。
2
15怪兽:底层原理
深入技术看懂 namespace、cgroups、veth、iptables 与 overlayfs 各自在哪一层做了什么。
3
14进阶:资源限制与性能
深入技术给容器划出 CPU 与内存的上限,并弄清一个容器为什么还能把宿主机拖垮。
4
13进阶:容器安全
深入技术把容器关进笼子:以非 root 运行、裁剪 Linux 能力、限制系统调用,并知道这些边界在哪。
5
总有一天我会搞清楚所有的细节
闲谈杂录如题
随机文章随机推荐





