1. 题意:如果存在一个串是另一个串的公共前缀就是NO,否则就是YES
  1. 思路:利用字典树的特性搞搞就好了
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N=1e5+10;//一共有n(10000)个串,每个串有10个数字
  5.  
  6. struct Trie{
  7. Trie* next[15];
  8. int num;
  9. };
  10. Trie q[N];
  11. bool flag;
  12. int tol;
  13.  
  14. Trie* Creat()
  15. {
  16. Trie *p;
  17. p=&q[tol];
  18. tol++;
  19. p->num=0;
  20. for(int i=0;i<10;i++)
  21. p->next[i]=NULL;
  22. return p;
  23. }
  24.  
  25. void Insert(Trie *p,char *str)
  26. {
  27. int len=strlen(str);
  28. for(int i=0;i<len;i++)
  29. {
  30. int id=str[i]-'0';
  31. if(p->next[id]==NULL)
  32. p->next[id]=Creat();
  33. else
  34. {
  35. if(str[i+1]=='\0') //这个串是之前一个串的公共前缀
  36. {
  37. flag=1;
  38. return;
  39. }
  40. }
  41. p=p->next[id];
  42. if(p->num==1) //之前有一个串是这个串公共前缀
  43. {
  44. flag=1;
  45. return;
  46. }
  47. }
  48. p->num++;
  49. }
  50.  
  51. int main()
  52. {
  53. char s[15];
  54. int n;
  55. int T,cas=1;
  56. scanf("%d",&T);
  57. while(T--)
  58. {
  59. Trie *root;
  60. tol=0;
  61. root=Creat();
  62. flag=false;
  63. scanf("%d",&n);
  64. for(int i=0;i<n;i++)
  65. {
  66. scanf("%s",s);
  67. if(!flag)
  68. Insert(root,s);
  69. }
  70. printf("Case %d: ",cas++);
  71. if(flag)
  72. puts("NO");
  73. else
  74. puts("YES");
  75. }
  76. return 0;
  77. }

Lightoj 1129【字典树】的更多相关文章

  1. 817E. Choosing The Commander trie字典树

    LINK 题意:现有3种操作 加入一个值,删除一个值,询问pi^x<k的个数 思路:很像以前lightoj上写过的01异或的字典树,用字典树维护数求异或值即可 /** @Date : 2017- ...

  2. 萌新笔记——用KMP算法与Trie字典树实现屏蔽敏感词(UTF-8编码)

    前几天写好了字典,又刚好重温了KMP算法,恰逢遇到朋友吐槽最近被和谐的词越来越多了,于是突发奇想,想要自己实现一下敏感词屏蔽. 基本敏感词的屏蔽说起来很简单,只要把字符串中的敏感词替换成"* ...

  3. [LeetCode] Implement Trie (Prefix Tree) 实现字典树(前缀树)

    Implement a trie with insert, search, and startsWith methods. Note:You may assume that all inputs ar ...

  4. 字典树+博弈 CF 455B A Lot of Games(接龙游戏)

    题目链接 题意: A和B轮流在建造一个字,每次添加一个字符,要求是给定的n个串的某一个的前缀,不能添加字符的人输掉游戏,输掉的人先手下一轮的游戏.问A先手,经过k轮游戏,最后胜利的人是谁. 思路: 很 ...

  5. 萌新笔记——C++里创建 Trie字典树(中文词典)(一)(插入、遍历)

    萌新做词典第一篇,做得不好,还请指正,谢谢大佬! 写了一个词典,用到了Trie字典树. 写这个词典的目的,一个是为了压缩一些数据,另一个是为了尝试搜索提示,就像在谷歌搜索的时候,打出某个关键字,会提示 ...

  6. 山东第一届省赛1001 Phone Number(字典树)

    Phone Number Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 We know that if a phone numb ...

  7. 字典树 - A Poet Computer

    The ACM team is working on an AI project called (Eih Eye Three) that allows computers to write poems ...

  8. trie字典树详解及应用

    原文链接    http://www.cnblogs.com/freewater/archive/2012/09/11/2680480.html Trie树详解及其应用   一.知识简介        ...

  9. HDU1671 字典树

    Phone List Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

随机推荐

  1. 关于erlang解析json数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读.json的数据格式是文本文档格式的一种.在erlang中可以参考mochiwe ...

  2. Webkit二:RenderTree 创建

    RenderObject 作为所有Render 树节点的基类,完全类似与DOM树中的Node基类,它是构成Render 树的基础,作用非比寻常,其中包含了构成Render 树所可能涉及到的一些基本属性 ...

  3. sql无限级树型查询

    表结构如下: 表数据如下: 一提到无限级,很容易想到递归,使用sql 的CET语法如下 with menu(Id,Name,ParentId,Level) as ( select Id,Name,Pa ...

  4. PHP中的面向对象 中的类(class)

    2.11 上午讲的是面向对象中的类(class),一个非常抽象的概念, 类里面成员的定义有 public$abc; private$abc(私有变量): protect $abc(受保护的变量): 下 ...

  5. windows IDA 调试SO

    还是参考了网上的很多资料,感谢这些前辈的分享. ===================================================================== 环境:win ...

  6. Spring 4.2框架中注释驱动的事件监听器详解

    事件交互已经成为很多应用程序不可或缺的一部分,spring框架提供了一个完整的基础设施来处理瞬时事件.下面我们来看看Spring 4.2框架中基于注释驱动的事件监听器. 1.早期的方式 在早期,组件要 ...

  7. linux EXT文件系统

    将一个硬盘分区之后如何创建文件系统(windows来讲就是如何针对分区来进行格式化,是采用FAT32的文件系统来格式化,还是采用NTFS的文件系统来格式化).Linux主要采用EXT2,EXT3分区格 ...

  8. android SDK中添加自定义api【转】

    本文转载自:http://blog.csdn.net/a624731186/article/details/23548409 本文的思路: android APP调用自定义java API,自定义ja ...

  9. fatal error C1902: 程序数据库管理器不匹配;请检查安装解决

    http://blog.sina.com.cn/s/blog_9f4bc8e301015uhz.html 1.错误提示:VS2008编译错误fatal error C1902: 程序数据库管理器不匹配 ...

  10. BZOJ 1624 [Usaco2008 Open] Clear And Present Danger 寻宝之路:floyd

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1624 题意: 农夫约翰正驾驶一条小艇在牛勒比海上航行. 海上有N(1≤N≤100)个岛屿, ...