Trie树【UVA11362】Phone List
Description
给定\(n\)个长度不超过\(10\)的数字串,判断是否有两个字符串\(A\)和\(B\),满足\(A\)是\(B\)的前缀,若有,输出
NO,若没有,输出YES。
一道\(Trie\)树裸题,我交了20次.
呜呜呜呜,难受.
刚开始是看错题,有的话输出"NO",没有输出“YES”什么鬼题啊!!!
一眼看到就会切了的.害得我交了20次啊!
定义数组:
\(ok[v]\)表示以\(v\)为结尾的字符串是否出现过.
\(cnt[u]\)代表当前节点被遍历过几次,判断插入的某字符串的末尾是否被经历过两次以上.
输出即可.
记得\(memset\).
代码
#include<cstdio>
#include<cstring>
#define clear(a) memset(a,0,sizeof a)
#define R register
using namespace std;
int tri[100005][12],n,T,rt,tot,cnt[100005];
char s[15];
bool flg,ok[100005];
inline void insert(int u,char *s)
{
	int len=strlen(s);
	for(R int i=0;i<len;i++)
	{
		int v=s[i]-'0';
		if(!tri[u][v])
			tri[u][v]=++tot;
		u=tri[u][v];
		cnt[u]++;
		if(ok[u])flg=true;
	}
	ok[u]=true;
	if(cnt[u]>1)flg=true;
}
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		flg=false;
		clear(tri);clear(ok);
		clear(cnt);tot=0;
		scanf("%d",&n);
		for(R int i=1;i<=n;i++)
		{
			scanf("%s",s);
			insert(rt,s);
		}
		puts(flg?"NO":"YES");
	}
}
												
											Trie树【UVA11362】Phone List的更多相关文章
- Phone list(Trie树模板)
		
Phone List 共t组数据,给定n个长度不超过10的字符串,问其中是否存在两个数S,T,使得S是T的前缀. 存在则输出NO,不存在输出YES 输入样例#1: 2 3 911 97625999 9 ...
 - Trie树入门
		
Trie树入门 貌似很多人会认为\(Trie\)是字符串类型,但是这是数据结构!!!. 详情见度娘 下面开始进入正题. PS:本文章所有代码未经编译,有错误还请大家指出. 引入 先来看一个问题  给 ...
 - Trie树(小)总结 By cellur925
		
关于\(Trie\)树的详细介绍,还请移步这篇深度好文 基本操作 插入 void insert() { int p=0; int len=strlen(tmp+1); for(int i=1;i< ...
 - 基于trie树做一个ac自动机
		
基于trie树做一个ac自动机 #!/usr/bin/python # -*- coding: utf-8 -*- class Node: def __init__(self): self.value ...
 - 基于trie树的具有联想功能的文本编辑器
		
之前的软件设计与开发实践课程中,自己构思的大作业题目.做的具有核心功能,但是还欠缺边边角角的小功能和持久化数据结构,先放出来,有机会一点点改.github:https://github.com/chu ...
 - hihocoder-1014 Trie树
		
hihocoder 1014 : Trie树 link: https://hihocoder.com/problemset/problem/1014 题意: 实现Trie树,实现对单词的快速统计. # ...
 - 洛谷P2412 查单词 [trie树 RMQ]
		
题目背景 滚粗了的HansBug在收拾旧英语书,然而他发现了什么奇妙的东西. 题目描述 udp2.T3如果遇到相同的字符串,输出后面的 蒟蒻HansBug在一本英语书里面找到了一个单词表,包含N个单词 ...
 - 通过trie树实现单词自动补全
		
/** * 实现单词补全功能 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #incl ...
 - #1014 Trie树
		
本题主要是求构造一棵Trie树,即词典树用于统计单词. C#代码如下: using System; using System.Collections.Generic; using System.Lin ...
 
随机推荐
- svn:  Checksum mismatch while updating  错误
			
最近使用svn客户端更新代码的时候出现 Checksum mismatch while updating 的错误 解决办法 在出错文件的目录下,用update to reversion , 先选onl ...
 - java中各种循环
			
简单介绍一下java中的一些循环 package test; import org.apache.log4j.Logger; import org.junit.Test; public class F ...
 - bzoj 1635: [Usaco2007 Jan]Tallest Cow 最高的牛——差分
			
Description FJ's N (1 <= N <= 10,000) cows conveniently indexed 1..N are standing in a line. E ...
 - bzoj 1774: [Usaco2009 Dec]Toll 过路费 ——(改)floyd
			
Description 跟所有人一样,农夫约翰以着宁教我负天下牛,休叫天下牛负我的伟大精神,日日夜夜苦思生 财之道.为了发财,他设置了一系列的规章制度,使得任何一只奶牛在农场中的道路行走,都 要向农夫 ...
 - 【BZOJ】3790 神奇项链
			
[算法](manacher+贪心)||(manacher+DP+树状数组/线段树) [题解] manacher求回文串,后得到线段,做一点计算映射回原串线段. 然后问题转化为可重叠区间线段覆盖问题,可 ...
 - poj 3751 时间日期格式转换
			
题目链接:http://poj.org/problem?id=3751 题目大意:按照要求的格式将输入的时间日期进行转化. #include <iostream> #include < ...
 - 2.0 docker安装
			
问题列表: Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again 解:处 ...
 - Java多线程学习(二)synchronized关键字(1)
			
转载请备注地址: https://blog.csdn.net/qq_34337272/article/details/79655194 Java多线程学习(二)将分为两篇文章介绍synchronize ...
 - AGC025简要题解
			
AGC025简要题解 B RGB Coloring 一道简单题,枚举即可. C Interval Game 考虑可以进行的操作只有两种,即左拉和右拉,连续进行两次相同的操作是没有用的. 左拉时肯定会选 ...
 - ThinkSnS v4后台任意文件下载漏洞
			
漏洞文件: /apps/admin/Lib/Action/UpgradeAction.class.php 主要问题还是出现在了180行直接将远程获取到的图片直接保存. 文中可见并没有做任何的对$dow ...