#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int t[][];
int s[],sz;
char ch[][];
int n;
void add(char* str)
{
int len=strlen(str);
int now=,k;
for(int i=;i<len;i++)
{
k=str[i]-'a';
if(!t[now][k])t[now][k]=++sz;
now=t[now][k];
s[now]++;
}
}
void ask(char* str)
{
int len=strlen(str);
int now=,k;
for(int i=;i<len;i++)
{
if(s[now]==)return;
k=str[i]-'a';
printf("%c",str[i]);
now=t[now][k];
}
}
int main()
{
scanf("%d",&n);
for(int i=;i<n;i++)
{
scanf("%s",ch[i]);
add(ch[i]);
}
for(int i=;i<n;i++)
{
printf("%s ",ch[i]);
ask(ch[i]);
printf("\n");
}
}

数组记录的Trie树

k表示字符串第i个字符 now表示现在树记到的位置 now的转移每次都是now=t[now][k]

sz记录树的大小

s[now]表示有多少个单词经过now这个点

poj2001Trie树模板的更多相关文章

  1. HDU3948 & 回文树模板

    Description: 求本质不同回文子串的个数 Solution: 回文树模板,学一学贴一贴啊... Code: /*================================= # Cre ...

  2. [AHOI 2009] 维护序列(线段树模板题)

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MB Description 老师交给小可可一个维护数列的任务,现在小 ...

  3. treap树模板

    ///treap树模板 typedef struct Node ///节点的结构体 { Node *l,*r; int val,pri; ///节点的值和优先级 int sz; ///节点子树的节点数 ...

  4. hdu1754 I hate it线段树模板 区间最值查询

    题目链接:这道题是线段树,树状数组最基础的问题 两种分类方式:按照更新对象和查询对象 单点更新,区间查询; 区间更新,单点查询; 按照整体维护的对象: 维护前缀和; 维护区间最值. 线段树模板代码 # ...

  5. HDU 1251 Trie树模板题

    1.HDU 1251 统计难题  Trie树模板题,或者map 2.总结:用C++过了,G++就爆内存.. 题意:查找给定前缀的单词数量. #include<iostream> #incl ...

  6. AVL树模板

    ///AVL树模板 typedef struct Node ///树的节点 { int val,data; int h; ///以当前结点为根结点的数的高度 int bf; ///平衡因子(左子树高度 ...

  7. 【POJ 2104】 K-th Number 主席树模板题

    达神主席树讲解传送门:http://blog.csdn.net/dad3zz/article/details/50638026 2016-02-23:真的是模板题诶,主席树模板水过.今天新校网不好,没 ...

  8. hdu 2665 Kth number(划分树模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=2665 [ poj 2104 2761 ]  改变一下输入就可以过 http://poj.org/problem? ...

  9. 主席树:POJ2104 K-th Number (主席树模板题)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 44952   Accepted: 14951 Ca ...

随机推荐

  1. PHP-Manual的学习----【入门指引】

    2017年6月27日17:03:53 笔记:简介    PHP是什么?    PHP能做什么?1.PHP("PHP: Hypertext Preprocessor",超文本预处理器 ...

  2. Linux 安装OpenSSL出错的解决方法

    以前编译php没有 –with–openssl 现在要使用到 openssl ,phpinze扩展安装,但是在make时候报错 今天找这个在网上找了大半天,最后总结应该是php版本本身的问题,错误是p ...

  3. Linux Samba文件共享服务配置

    http://blog.csdn.net/xht555/article/details/4631063

  4. Java 学习 day08

    01-面向对象(多态-概念) package myFirstCode; /* 多态:可以理解为事务存在的多种体现形态. 人:男人,女人 动物:猫,狗 猫 x = new 猫(); 动物 x = new ...

  5. 九度OJ 1195:最长&最短文本 (搜索)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3144 解决:1156 题目描述: 输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输 ...

  6. 智能家居DIY-空气质量检测篇-获取温度和湿度篇

    目录 智能家居DIY-空气质量检测篇-获取空气污染指数 前言 话说楼主终于升级当爸了,宝宝现在5个月了,宝宝出生的时候是冬天,正是魔都空气污染严重的时候,当时就想搞个自动开启空气净化器,由于种种原因一 ...

  7. iOS 字符串截取,将字符串中用括号包含的内容去除

    //去除字符串中用括号括住的位置 -(NSString *)handleStringWithString:(NSString *)str{ NSMutableString * muStr = [NSM ...

  8. GitHub提示 Error: Key already in use解决办法

    GitHub提示 Error: Key already in use解决办法GitHub提示 Error: Key already in use解决办法2014年09月05日 ⁄ 综合 ⁄ 共 290 ...

  9. SAP basis 常用事物

    1.创建一个新的用户 完成client创建和拷贝后,在开始正式工作之前,需要创建新的用户.  用这个用户进行工作.默认ddic和sap*用户不要用于实际的业务.  创建用户的过程很简单,只要以su01 ...

  10. Notification状态栏显示信息

    Notification即通知,用于在通知栏显示提示信息. 在API Level > 11,Notification类中的一些方法被Android声明deprecated(弃用),而在API L ...