zoukankan      html  css  js  c++  java
  • Codeforces Round #546 (Div. 2)D(贪心,思维,SET,VECTOR,模拟)

    #include<bits/stdc++.h>
    using namespace std;
    int a[300007],b[500007],c[500007];
    set<int>st[300007];
    vector<int>v;
    int main(){
        int n,m;
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
            v.push_back(a[i]);
        }
        int cnt=0;
        for(int i=1;i<=m;i++){
            scanf("%d%d",&b[i],&c[i]);
            st[b[i]].insert(c[i]);
        }
        v.pop_back();
        int ans=0;
        for(int i=(int)v.size()-1;i>=0;i--){//从后向前是为了保证只要i>=0就可以循环下去,不会使循环跑不完就停止
            int tmp=v[i];
            for(int j=i+1;j<v.size();j++){//从前向后换,可以让a[n]先和原先靠前的换后再和原先靠后的换,从而换的更远
                if(st[tmp].count(v[j])){
                    swap(v[j],v[j-1]);
                }
                else
                    break;
            }
            if(st[v.back()].count(a[n]))//队尾可以换到a[n]后面的话,彻底删除他
                v.pop_back();
        }
        ans=n-v.size()-1;
        printf("%d",ans);
        return 0;
    }

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    uniapp 小程序分享功能
    uniapp 输入有值后按钮变色
    css 跑马灯
    uniapp 复选框问题
    【Python】where cut query melt函数用法
    【Python】Pivot_table透视表用法及CategoricalDtype自定义排序
    【Python】Merge函数的用法
    【Python】extract及contains方法(正则提取筛选数据)
    Promise
    CSS垂直居中的方法
  • 原文地址:https://www.cnblogs.com/ldudxy/p/10516761.html
Copyright © 2011-2022 走看看