zoukankan      html  css  js  c++  java
  • # Trie 835. Trie字符串统计

    维护一个字符串集合,支持两种操作:

    “I x”向集合中插入一个字符串x;
    “Q x”询问一个字符串在集合中出现了多少次。
    共有N个操作,输入的字符串总长度不超过 105105,字符串仅包含小写英文字母。

    输入格式

    第一行包含整数N,表示操作数。

    接下来N行,每行包含一个操作指令,指令为”I x”或”Q x”中的一种。

    输出格式

    对于每个询问指令”Q x”,都要输出一个整数作为结果,表示x在集合中出现的次数。

    每个结果占一行。

    数据范围

    1≤N≤2∗1041≤N≤2∗104
    输入样例:

    5
    I abc
    Q abc
    Q ab
    I ab
    Q ab
    输出样例:

    1
    0
    1

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int num[1000010],pos=1,trie[1000010][26];
    int Insert(string str){
    	int c=0;
    	for(int i=0;i<str.size();i++){
    		int n=str[i]-'a';
    		if(trie[c][n]==0) trie[c][n]=pos++;
    		c=trie[c][n];
    	}
    	++num[c];
    } 
    int Find(string str){
    	int c=0;
    	for(int i=0;i<str.size();i++){
    		int n=str[i]-'a';
    		if(trie[c][n]==0)
    		return 0;
    		c=trie[c][n];
    	}
    	return num[c];
    } 
    int main(){
    	memset(num,0,sizeof(num));
    	int n;
    	cin>>n;
    	while(n--){
    		char ch;
    		string s;
    		cin>>ch>>s;
    		if(ch=='I'){
    			Insert(s);
    		}
    		if(ch=='Q'){
    			cout<<Find(s)<<endl;
    		}
    	}
        return 0;
    }```
    
    
  • 相关阅读:
    买点
    正则
    burp回放
    py打包问题
    运行elementUI相关组件的时候的问题
    客户端性能(转载)
    客户端性能(转载)
    关于Appium android input manager for Unicode 提示信息
    selenium 分布式 [WinError 10061] 由于目标计算机积极拒绝
    WPF数据绑定-依赖属性
  • 原文地址:https://www.cnblogs.com/yuanyulin/p/14026783.html
Copyright © 2011-2022 走看看