博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
北大ACM——2001,Shortest Prefixes(Trie树)
阅读量:4049 次
发布时间:2019-05-25

本文共 789 字,大约阅读时间需要 2 分钟。

突破口:

节点属性num[node]:以该单词为前缀的单词数。
当num[node]=1或者字符串扫描结束时,就是该单词的Shortest Profix。

代码如下:

#include
#include
#include
#include
#include
using namespace std;const int maxn=1e4+5;char s[1005][25],ans[1005][25];int Trie[maxn][26];int num[maxn]={0};int tot=1;void insert(char *str){ int len,node,i; len=strlen(str)-1; node=0; for(i=0;i<=len;i++) { if(Trie[node][str[i]-'a']==0) Trie[node][str[i]-'a']=tot++; node=Trie[node][str[i]-'a']; num[node]++; } } void inquire(char *str1,char *str2){ int len,node,i; len=strlen(str1)-1; node=0; for(i=0;i<=len;i++) { if(num[node]==1) //这个要放在最前面。 break; node=Trie[node][str1[i]-'a']; str2[i]=str1[i]; } str2[i]='\0';}int main(){ int i,j; i=j=0; while(cin>>s[i]) { insert(s[i]); i++; } while(j

转载地址:http://vddci.baihongyu.com/

你可能感兴趣的文章
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
mongdb在java中的应用
查看>>
区块链技术让Yotta企业云盘为行政事业服务助力
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>
Yotta企业云盘助力旅游行业新发展
查看>>
Yotta企业云盘助力科技行业创高峰
查看>>
Yotta企业云盘更好地为教育行业服务
查看>>