【板子】01异或树

//Copyright yeyou26
#include<bits/stdc++.h>
using namespace std;

const int N = 11145;

int t[N][150];
int idx;
int cnt[N];

int n,m,t[N][150],idx,cnt[N]

int trans(char c)
{
    return c^64;
}

void Insert(string s)
{
    int p=0;
    for(int i=0;s[i];i++)
    {
        int ch=trans(s[i]);
        if(!t[p][ch])
        {
            t[p][ch]=++idx;
        }
        p=t[p][ch];
    }
    cnt[p]++;
}

int Query(string s)
{
    int p=0;
    for(int i=0;s[i];i++)
    {
        int ch=trans(s[i]);
        if(!t[p][ch])
        {
            return 0;
        }
        else
        {
            p=t[p][ch];
        }
    }
    return cnt[p];
}
posted @   yeyou26  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示