POJ-3630 Phone List Trie树 | qsort
2013-04-16 21:01
477 查看
题目链接:http://poj.org/problem?id=3630
建立一个Trie树查找就可以了,但是这里动态建立Trie居然会超时,静态化居然可以秒,太不厚道了= =
当然还可以用qsort秒过,依次比较。。。
建立一个Trie树查找就可以了,但是这里动态建立Trie居然会超时,静态化居然可以秒,太不厚道了= =
当然还可以用qsort秒过,依次比较。。。
//STATUS:C++_AC_110MS_2568KB #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<iostream> #include<string> #include<algorithm> #include<vector> #include<queue> #include<stack> #include<map> using namespace std; #define LL long long #define pii pair<int,int> #define Max(a,b) ((a)>(b)?(a):(b)) #define Min(a,b) ((a)<(b)?(a):(b)) #define mem(a,b) memset(a,b,sizeof(a)) #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 #define PI acos(-1.0) const int N=10010,INF=0x3f3f3f3f,MOD=10000,STA=8000010; const LL LNF=0x3f3f3f3f3f3f3f3f; const double DNF=1e13; // void swap(int& a,int& b){int t=a;a=b;b=t;} void swap(LL& a,LL& b){LL t=a;a=b;b=t;} // struct Trie { int ch[1<<16][10]; int val[1<<16]; int sz; void init(){sz=1;mem(ch[0],0);} void insert(char *s,int v){ int i,len=strlen(s),id,u=0; for(i=0;i<len;i++){ id=s[i]-'0'; if(!ch[u][id]){ mem(ch[sz],0); val[sz]=0; ch[u][id]=sz++; } u=ch[u][id]; } val[u]=v; } int find(char *s){ int i,len=strlen(s),id,u=0; for(i=0;i<len;i++){ id=s[i]-'0'; if(!ch[u][id])return 0; u=ch[u][id]; } for(i=0;i<10;i++) if(ch[u][id])return 1; return 0; } }trie; int T,n; char s[12]; int main() { // freopen("in.txt","r",stdin); int i,j,ok; scanf("%d",&T); while(T--) { ok=1; trie.init(); scanf("%d",&n); while(n--){ scanf("%s",s); if(trie.insert(s,1)){ok=0;break;} } if(n>1)while(n--)scanf("%s",s); printf("%s\n",ok?"YES":"NO"); } return 0; }
相关文章推荐
- poj 3630 Phone List trie树—字典树 静态数组版!!!
- 【原】 POJ 3630 Phone List Trie树 解题报告
- Trie树学习小记 Poj 3630 & Hdu1671 Phone List
- poj 3630 || zoj 2876 ||hdu 1671 Phone List (Trie树的应用)
- POJ 3630 Phone List(Trie树,静态数组实现)
- POJ 3630 Phone List(trie树的简单应用)
- HDU 1671 && POJ 3630 Phone List (Trie树 好题)
- poj_3630 Phone List(Trie树练习)
- POJ_3630_Phone List_Trie树
- POJ 3630 - Phone List (Trie树)
- POJ 3630 Phone List 【Trie树入门】
- poj 3630 Phone List Trie树
- POJ 3630 Phone List 【Trie树入门】
- POJ-3630-Phone List-Trie树(键树、数字查找树、基数树)
- poj 3630 Phone List trie树
- poj-3630 Phone List **
- poj 3630 Phone List 字典树
- Poj 3630 Phone List
- HDU 1671 Phone List && POJ 3630 Phone List
- poj 3630 / hdu 1671 Phone List 【Trie字典树 动态创建&静态创建】