[第1章 1.2t5] 良好的感觉
113 字
1 分钟
[第1章 1.2t5] 良好的感觉
//单调栈问题注意2个stack与a[n]哨兵//前一个确保top可访问,并且初始位置可被计算//第二个确保最后全部位置都被清算,这里设计的很棒//注意要在本轮res计算完成后push#include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ll n; cin>>n; vector<ll> a(n+2,0),sum(n+2,0),res(n+2,0); for(ll i=1;i<=n;i++)cin>>a[i]; n++; stack<ll> st; st.push(0); ll ans=0; for(ll i=1;i<=n;i++){ sum[i]=sum[i-1]+a[i]; while(!st.empty()&&a[st.top()]>a[i]){ ll tp=st.top(); st.pop(); res[tp]+=(sum[i-1]-sum[tp]); } res[i]=(sum[i]-sum[st.top()]); st.push(i); } for(ll i=1;i<=n;i++){ ans=max(ans,res[i]*a[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
总有一天我会搞清楚所有的细节
闲谈杂录如题
随机文章随机推荐





