社区讨论
单调队列,sub1全错,sub2全对
P1725琪露诺参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m2509z3r
- 此快照首次捕获于
- 2024/10/12 01:32 去年
- 此快照最后确认于
- 2025/11/04 17:24 4 个月前
我真的红温了啊
CPP#include <bits/stdc++.h>
//#define int long long
using namespace std;
const int N = 3e5+10,INF = 0x3f3f3f3f;
int a[N],f[N],n,l,r,ans=-INF;
deque<int> q;
signed main()
{
cin >> n >> l >> r;
for(int i=0;i<=n;i++) cin >> a[i];
memset(f,-INF,sizeof(f));
f[0] = 0;
for(int i=l;i<=n;i++)
{
while(!q.empty() && f[q.back()]<=f[i]) q.pop_back();
q.push_back(i-l);
while(!q.empty() && q.front()+r<i) q.pop_front();
f[i] = f[q.front()]+a[i];
if(i+r>n) ans = max(ans,f[i]);
}
cout << ans;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...