求助,用向量超时,不懂空间时间复杂度,有没有让人容易听懂复杂度的文章啊
查看原帖
求助,用向量超时,不懂空间时间复杂度,有没有让人容易听懂复杂度的文章啊
1761697
tiantongalice楼主2025/7/29 11:43
#include<iostream>
#include<vector>
#include<algorithm>
int n;
using namespace std;
int main(){
    cin>>n;
    vector<int>a(n);
    a[0]=1;
    int k,p;
    for(int i=2;i<=n;i++){
        cin>>k>>p;
        if(p==0){
            auto tem=find(a.begin(),a.end(),k);
            if(tem!=a.end())
            a.insert(tem,i);
}
        if(p==1){
            auto tem=find(a.begin(),a.end(),k);
            if(tem!=a.end())
            a.insert(next(tem),i);
        }
    }
    int m;cin>>m;
    for(int i=0;i<m;i++){
        int t;
        cin>>t;
        auto q=find(a.begin(),a.end(),t);
        if(q!=a.end())
        a.erase(q);
    }
    for(int i=0;i<n;i++){
        if(a[i]>0) cout<<a[i]<<" ";
    }
    return 0;
}
2025/7/29 11:43
加载中...