zoukankan      html  css  js  c++  java
  • 统计难题 HDU

    Miku

    字典树模板题级别

    字典树是啥,就是一颗从根走到底就找到了一个单词的树

    非常好理解

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<istream>
    using namespace std;
    int n;
    string s;
    struct t{
       int ne[28];
       int cnt;
    }tr[400001];
    int p;
    int l;
    int x;
    int po;
    void add(){
       //cout<<s<<" "<<l<<endl;
       p=0;
       for(int i=0;i<l;++i){
       	x=s[i]-'a'+1;//这么干就不会有0了 
       	if(!tr[p].ne[x]){//没有就建 
       		po++;
       		tr[p].ne[x]=po;		
       	}
       	p=tr[p].ne[x];
       	tr[p].cnt++;//被经过次数即为前缀数 
       }
       return ;
    }
    int query(){
       p=0;
       for(int i=0;i<l;++i){
       	x=s[i]-'a'+1;
       	if(!tr[p].ne[x]){ 
       		return 0;
       	}else{
       		p=tr[p].ne[x];
       	}
       }
       return tr[p].cnt;
    }
    
    int main(){
       while(getline(cin,s)){
       	l=s.length();
       	if(l==0)
       	break;
       	add();
       }	
       while(getline(cin,s)){
       	l=s.length();
       	cout<<query()<<endl;;
       }
       return 0;
    }
    
    
  • 相关阅读:
    ZOJ2913Bus Pass(BFS+set)
    HDU1242 Rescue(BFS+优先队列)
    转(havel 算法)
    ZOJ3761(并查集+树的遍历)
    ZOJ3578(Matrix)
    HDU1505
    ZOJ3574(归并排序求逆数对)
    VUE-脚手架搭建
    VUE脚手架搭建
    VUE-node.js
  • 原文地址:https://www.cnblogs.com/For-Miku/p/13427603.html
Copyright © 2011-2022 走看看