hdu杭电1671 / poj3630 字典树
题意:输入n串数字 找出是否有存在串的前缀与另一个串相同 如果存在 输出NO否则输出YES
思路:用字典树解决 标记字典树总串的结尾 查找出一个串内部是否有被标记的节点 如果有那么说明存在前缀相同的串
在插入字典树的时候判断是否存在 cin poj tle了 还是换成gets才过。。。
AC代码:
#include "iostream"
#include "stdio.h"
#include "string.h"
using namespace std; using namespace std ;
typedef long long ll;
#define mem(a) memset(a,0,sizeof(a)) typedef struct Trie
{
bool isword;
struct Trie *next[];
}*Trie_pointer; Trie trie[]; int tot,flag; void Insert(Trie_pointer root, char *s)
{
if(*s == '\0')
return;
char *p = s;
Trie_pointer tmp,t = root;
while(*p != '\0')
{
if(t->next[*p - ''] == NULL)
{
tmp = &trie[tot++];
t->next[*p - ''] = tmp;
}
t = t->next[*p - ''];
p++;
if(t->isword == )
flag = ;
}
t->isword = ;
for(int i=; i<; i++)
{
if(t->next[i] != NULL)
flag = ;
}
} int main()
{
Trie root;
char s[];
int i,n,t;
cin>>t;
while(t--)
{
memset(trie,,sizeof(trie));
memset(&root,,sizeof(root));
tot=;
cin>>n;
getchar();
while(n--)
{
gets(s);
if(!flag)
Insert(&root,s);
}
if(flag)
printf("NO\n");
else
printf("YES\n");
flag = ;
}
return ;
}
hdu杭电1671 / poj3630 字典树的更多相关文章
- 『ACM C++』HDU杭电OJ | 1415 - Jugs (灌水定理引申)
		
今天总算开学了,当了班长就是麻烦,明明自己没买书却要带着一波人去领书,那能怎么办呢,只能说我善人心肠哈哈哈,不过我脑子里突然浮起一个念头,大二还要不要继续当这个班委呢,既然已经体验过就可以适当放下了吧 ...
 - Phone List POJ-3630 字典树 or 暴力
		
Phone List POJ-3630 字典树 or 暴力 题意 目前有 t 组数据, n 个电话号码,如果拨打号码的时候 先拨通了某个号码,那么这一串号码就无法全部拨通. 举个例子 911 和 91 ...
 - HDU 1671 (字典树统计是否有前缀)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1671 Problem Description Given a list of phone number ...
 - hdu 1251:统计难题(字典树,经典题)
		
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submi ...
 - HDU 4287 Intelligent IME(字典树数组版)
		
Intelligent IME Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
 - HDU 4757 Tree 可持久化字典树
		
Tree Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4757 Des ...
 - hdu 4099 Revenge of Fibonacci 字典树+大数
		
将斐波那契的前100000个,每个的前40位都插入到字典树里(其他位数删掉),然后直接查询字典树就行. 此题坑点在于 1.字典树的深度不能太大,事实上,超过40在hdu就会MLE…… 2.若大数加法时 ...
 - HDU 1247 - Hat’s Words - [字典树水题]
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1247 Problem DescriptionA hat’s word is a word in the ...
 - HDU 1251 统计难题(字典树模板题)
		
http://acm.hdu.edu.cn/showproblem.php?pid=1251 题意:给出一些单词,然后有多次询问,每次输出以该单词为前缀的单词的数量. 思路: 字典树入门题. #inc ...
 
随机推荐
- C#中var和dynamic
			
var与dynamic这两个关键字,只是看起来很相似,仅此而已!var表示“变量的类型是在编译时决定的”,但是dynamic表 示“变量的类型是在运行时决定的”.因此,dynamic与var具有截然不 ...
 - 在Salesforce中添加Workflow Rule
			
在Salesforce中可以添加Workflow Rule来执行特定的动作,比如说:当Object的某个字段发生变化时,根据变化的值去修改其他field,和Trigger的功能很类似,不过Trigge ...
 - Pushlet浏览器长连接通讯
			
原文链接:http://cuisuqiang.iteye.com/blog/1416771 Pushlet(一种comet 架构的实现)是基于Servlet 机制,数据从server端的Java 对象 ...
 - Android常用控件之GridView与ExpandableListView的用法
			
概述 1.GridView:与ListView相比,可以显示多列,xml布局时其属性numColumns可以设置显示的列数. 2.ExpandableListView:与ListView相比,可以让每 ...
 - 廖雪峰js教程笔记5  Arrow Function(箭头函数)
			
为什么叫Arrow Function?因为它的定义用的就是一个箭头: x => x * x 上面的箭头函数相当于: function (x) { return x * x; } 箭头函数 阅读: ...
 - Spring常用工具类
			
Spring框架下自带了丰富的工具类,在我们开发时可以简化很多工作: 1.Resource访问文件资源: 具体有: ResourceUtils.getFile(url); FileSystemReso ...
 - matlab坐标外围背景变白色
			
set(gcf,'Color',[1,1,1]) 默认图片是这样的: 出图之前使用命令,外围变白后效果如下:
 - 学习笔记总结---关于sass
			
今天跟大家共同分享交流一下关于sass的知识点: sass的产生: css不是一种编程语言,我们可以用它开发网页样式,但不能用它进行编程.它没有常量,变量,也没有条件语句,只是对属性一行行的描述,资料 ...
 - 安装 phpredis 扩展
			
/************************************************//********************* phpredis ***************** ...
 - js-DOM2,表单脚本
			
DOM2: 1.DOM2中:创建一个完整的HTML文档 document.implementation.createHTMLDocument("new Doc"); alert(h ...