已过存疑求解
查看原帖
已过存疑求解
1432988
Yeonjun_0913楼主2025/7/23 21:54

rt,下面是本蒟蒻的两份代码片段:

void insert(){
    int rt=1;
    for (int i=0;i<s.size();i++){
        int cur=get_num(s[i]);
        if (!trie[rt][cur]){
            trie[rt][cur]=++tot;
        }
        rt=trie[rt][cur];
        cnt[rt]++;
    }
    e[rt]++;
}
int query(string s){
    int rt=1;
    for (int i=0;i<s.size();i++){
        int cur=get_num(s[i]);
        if (!trie[rt][cur]) return 0;
        rt=trie[rt][cur];
    }
    return cnt[rt];
}

WA

void insert(){
    int rt=0;
    for (int i=0;i<s.size();i++){
        int cur=get_num(s[i]);
        if (!trie[rt][cur]){
            trie[rt][cur]=++tot;
        }
        rt=trie[rt][cur];
        cnt[rt]++;
    }
    e[rt]++;
}
int query(string s){
    int rt=0;
    for (int i=0;i<s.size();i++){
        int cur=get_num(s[i]);
        if (!trie[rt][cur]) return 0;
        rt=trie[rt][cur];
    }
    return cnt[rt];
}

AC

为什么把rt的初始值改为0就能AC?求解。

2025/7/23 21:54
加载中...