[POI2008] PLA-Postering - モノトーンスタック

あなた\(N \)以上との接続長方形の建物は、ポスターが重なり合い、それがカバーされ、矩形よりも高くすることができないことはできませんが、あなたがそれらのポスターを上書きしてみましょう。

1582190893645

解決

彼らはハイエンド、または貢献として寄与しない場合は、自分自身よりもすべての上位を挿入すると、それぞれがオフに遊んで、単調に増加するスタックを維持し、考えてみましょう。

#include <bits/stdc++.h>
using namespace std;

const int N = 1000005;
int b[N],a[N],n,q[N],top;

signed main() {
    ios::sync_with_stdio(false);
    cin>>n;
    for(int i=1;i<=n;i++) {
        cin>>b[i]>>a[i];
    }
    int ans=0;
    for(int i=1;i<=n;i++) {
        while(top && q[top]>a[i]) --top;
        if(q[top]<a[i]) {
            q[++top]=a[i];
            ++ans;
        }
    }
    cout<<ans;
}

おすすめ

転載: www.cnblogs.com/mollnn/p/12336638.html