[CF269B]温室効果 - DP

各植物は、種に属し、N植物を与え、M種の合計が、異なる点は、(数直線、及び軸の無制限の長さ)位置を落下、リードの位置がの昇順で読み出されることを保証するためにA。

今、私たちは、操作を実行することができます。席アップせずに植物上の任意の位置に移動させる任意の植物を、取ります。

我々は、(1〜m)の種の昇順(単調該当しない)に従って、左から右に行われ、各工場に隣接していることができますどのように多くの最小のための操作を尋ねました。

解決

上昇し、最長非厳格なシーケンスについて尋ねます

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

int n,m,a[5005],f[5005];
double t;

int main() {
    cin>>n>>m;
    for(int i=1;i<=n;i++) {
        cin>>a[i]>>t;
    }
    int ans=0;
    for(int i=1;i<=n;i++) {
        f[i]=1;
        for(int j=1;j<i;j++) {
            if(a[j]<=a[i]) f[i]=max(f[i], f[j]+1);
        }
        ans=max(ans,f[i]);
    }
    cout<<n-ans;
}

おすすめ

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