zoukankan      html  css  js  c++  java
  • Phone List HDU

    题意:给出一堆一组一组的数字  判断有没有哪一个是另外一个的前缀

    思路:字典树 插入的同时进行判断  不过 当处理一组数字的时候 需要考虑的有两点1.是否包含了其他的序列2.是否被其他序列包含

      刚开始开的1e4死活不过  1e5直接过了。。

     1 #include<bits/stdc++.h>
     2 #include<string>
     3 using namespace std;
     4 const int maxn=1e5+5;
     5 struct Trie{
     6     int size;
     7     int ch[maxn][10];
     8     int isEnd[maxn];
     9     void init(){
    10         memset(ch,0,sizeof(ch));
    11         memset(isEnd,0,sizeof(isEnd));    
    12         size=1;
    13     }
    14     bool insert(char*s){
    15         int rc=0,i=0;
    16         int flag=1;
    17         for(;s[i]!='';i++){
    18             int id=s[i]-'0';
    19             if(ch[rc][id]==0){
    20                 ch[rc][id]=size++;
    21                 flag=0;
    22             }    
    23                 if(isEnd[rc]==1)return 1;
    24             rc=ch[rc][id];
    25             //if(isEnd[rc]==1)return 1;
    26             
    27         }
    28         isEnd[rc]=1;
    29         return flag;
    30     }
    31 }trie;
    32 char s[10000];
    33 int main(){
    34         int t;
    35         scanf("%d",&t);
    36         while(t--){
    37             int ok=0;
    38             int n;
    39             scanf("%d",&n);
    40             trie.init();
    41             for(int i=0;i<n;i++){
    42             scanf("%s",s);
    43             if(ok)continue;
    44             if(trie.insert(s))ok=1;
    45             }
    46             if(ok)printf("NO
    ");
    47             else printf("YES
    ");
    48         }
    49     return 0;
    50 }
  • 相关阅读:
    Laravel update某一字段值为另一字段值
    Layui 批量
    CI 框架多表关联查询
    PHP数组函数
    PHP固定长度字符串
    PHP常用方法汇总
    CI 框架批量添加数据(如果数据库有就更新数据)
    使用nginx-http-concat优化网站响应
    mysql自动化安装
    SQL迁移到ORACLE实例
  • 原文地址:https://www.cnblogs.com/ttttttttrx/p/10252617.html
Copyright © 2011-2022 走看看