【题目链接】:

https://loj.ac/problem/10049

【题意】

问是否存在一组公共前缀。如果存在输出“NO”,否则输出“YES”

【题解】

首先建出Trie树来,然后开始记录所有的字符串,然后进行再跑一遍。看看是否在跑的过程中遇到某个位置上标记。

裸的模板题。

【代码】

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e4 +;
int son[N*][];
bool cnt[N*],f;
int T,n,idx;
char str[N][];
void Insert(char s[]){
//printf("###%s\n",s);
int p = ;
for(int i= ; s[i] ; i++ ){
int t = s[i] - '';
if( !son[p][t] ) son[p][t] = ++idx ;
p = son[p][t];
}
cnt[p] = true;
}
void Query(char s[]){
//printf("$$$%s\n",s);
int p = ;
for(int i= ; s[i+] ; i++ ){
int t = s[i] - '';
if( !son[p][t] ) break;
p = son[p][t];
if( cnt[p] ) f = true;
}
}
void Init(){
f = false ;
idx = ;
memset(cnt,false,sizeof cnt );
memset(son,,sizeof son );
}
int main()
{
scanf("%d",&T);
while(T--){
Init();
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%s",str[i]);
Insert(str[i]);
}
for(int i=;i<=n;i++){
Query(str[i]);
}
puts(f?"NO":"YES");
}
return ;
}
/*
40
2
9999999999
999999999 2
9999999999
999999998 2
012
12 2
012
1 2
0
01 2
012
1 */

【Trie】Phone List的更多相关文章

  1. 【Trie】背单词

    参考博客: https://www.luogu.org/problemnew/solution/P3294 https://blog.csdn.net/VictoryCzt/article/detai ...

  2. 【Trie】L 语言

    [题目链接]: https://loj.ac/problem/10053 [题意]: 给出n个模式串.请问文本串是由多少个模式串组成的. [题解]: 当我学完AC自动机后,发现这个题目也太简单了吧. ...

  3. 【Trie】Nikitosh 和异或

    [参考博客]: LOJ#10051」「一本通 2.3 例 3」Nikitosh 和异或(Trie [题目链接]: https://loj.ac/problem/10051 [题意]: 找出两个不相交区 ...

  4. 【Trie】The XOR-longest Path

    [题目链接]: https://loj.ac/problem/10056 [题意] 请输出树上两个点的异或路径  的最大值. [题解] 这个题目,y总说过怎么做之后,简直就是醍醐灌顶了. 我们知道Xo ...

  5. 【Trie】Secret Message 秘密信息

    [题目链接]: https://loj.ac/problem/10054 [题意] 我认为这个题目最难的是题意: 其实分了两种情况: 1.如果当前文本串匹配不完,那么答案的是:匹配过程中遇到的模式串结 ...

  6. 【Trie】Immediate Decodability

    [题目链接]: https://loj.ac/problem/10052 [题意]: 就是给一些串,是否存在两个串是相同前缀的. [题解] 模板题,不想解释了. [代码]: #include<c ...

  7. 【Trie】The XOR Largest Pair

    [题目链接] https://loj.ac/problem/10050 [题意] 给出n个数,其中取出两个数来,让其异或值最大. [题解] 经典的01字典树问题. 首先需要把01字典树建出来. 然后对 ...

  8. 【Trie】模板(动态指针,静态数组)

    摘自hackbuteer1 Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的 ...

  9. 【Trie】【HDU1247】【Hat’s Wordsfd2】

    题目大意: hat's word 的定义是字典中 恰好由另外两个单词连接起来的单词 给你一本字典,问有多少个hat's word,(字典按字典序给出) 单词数50000.. 初步思路: 单词分为前缀单 ...

随机推荐

  1. Ocelot 网关 和 consul 服务发现

    服务发现 Consul 一.安装和启动 下载 [Consul](https://www.consul.io/downloads.html) 下载完成后,解压,只有一个consul.exe,把目录添加到 ...

  2. 2015-2016 ACM ICPC Baltic Selection Contest

    这是上礼拜三的训练赛,以前做过一次,这次仅剩B题没补.题目链接:https://vjudge.net/contest/153192#overview. A题,水题. C题,树形DP,其实是一个贪心问题 ...

  3. 第11组 Beta冲刺(1/5)

    第11组 Beta冲刺(1/5)   队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/11913626.html 作业博客 https://www. ...

  4. RabbitMQ交换器的类型

    RabbitMQ常用的交换器类型有:fanout,direct,topic,headers fanout它会把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中. direct它会把消息路由到哪 ...

  5. insmod mknod

    insmod module 會在 /proc/devices/ 下產生 major number 及 device name ---------------------------- mknod 會使 ...

  6. kotlin泛型类型变异

    在java泛型中中会有 ? extends E 可以解决类似于List<String> 赋给List<Object>  的问题,但是在kotlin泛型中并没有提供通配符,而是o ...

  7. c++拷贝文件-传统处理异常(学习)

    #include <iostream>#include <stdio.h> using namespace std; int my_copy(const char* src_f ...

  8. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_14-页面静态化-数据模型-远程请求接口

    okhttp的官方文档: https://square.github.io/okhttp/ github的地址 https://github.com/square/okhttp/ 如何远程请求轮播图的 ...

  9. Qt编写安防视频监控系统8-双击节点

    一.前言 在所有的视频监控系统中,双击摄像机的节点,对应摄像机加载到当前焦点通道显示,这个都是必须具备的功能,还有一些厂家会做双击NVR节点,自动加载该NVR下的所有摄像机全部显示,从通道1开始到通道 ...

  10. 防止sshd服务被暴力破解

    方法有很多种,这里介绍两种. (1).配置安全的shhd设置 不允许root用户直接登录到系统,添加一个普通用户,必要时再切换到root用户. 修改默认端口号. 不允许密码登录,只能通过密钥登录系统. ...