1 条题解

  • 1
    @ 2025-11-23 15:54:33
    #include<bits/stdc++.h>
    using namespace std;
    const int N=2000*75+5;
    int n;
    int trie[N][26];
    int word[N],ans,tot=1;
    string s;
    void insert(string s){
        int u=0,len=s.size(),res=0;
        for(int i=0;i<len;i++){
            int a=s[i]-'a';
            if(trie[u][a]==0){
                trie[u][a]=tot++;
            }
            u=trie[u][a];
            res+=word[u];
        }
        word[u]++;
        if(res+1>ans){
            ans=res+1;
        }
    }
    int main(){
        ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>s;
            insert(s);
        }
        cout<<ans;
        return 0;
    }
    
    

    信息

    ID
    5539
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    24
    已通过
    3
    上传者