绝世好TLE
查看原帖
绝世好TLE
592751
xiaoke2021楼主2024/7/18 16:08

如下,TLE on #11

#include<bits/stdc++.h>
using namespace std;
map<string,bool> k[1000+5];
int n;
int m;
string s;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        int cnt;
        cin>>cnt;
        for(int j=1;j<=cnt;j++){
            cin>>s;
            k[i][s]=true;
        }
    }cin>>m;
    for(int i=1;i<=m;i++){
        cin>>s;
        for(int j=1;j<=n;j++)
            if(k[j][s])
                cout<<j<<" ";
        cout<<endl;
    }return 0;
}

然而很神奇的是,依题意 nn 最大 10310^3, cntcnt最大 3×1053 \times 10^5, mm最大 10410^4,那么其复杂度最大也才 O(n×cnt)O(n \times cnt),应该可以稳过的,但按照OJ的反馈应该超时了很多,是复杂度出锅了。

求助+玄关。

2024/7/18 16:08
加载中...