hihocoder1014(Trie树)
来源:互联网 发布:祥南行书体 mac 编辑:程序博客网 时间:2024/05/17 17:45
链接:点击打开链接
题意:有A,B两个集合,A中含有n个字符串,B中含有m个字符串,询问A中以B中每个字符串为前缀的串有多少个
代码:
#include <queue>#include <vector>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iostream>#include <algorithm>using namespace std;char a[15];int rt,v[1000005],s[1000005][30];void in(char a[]){ int i,u; u=0; for(i=0;a[i];i++){ if(!s[u][a[i]-'a']) s[u][a[i]-'a']=rt++; v[s[u][a[i]-'a']]++; u=s[u][a[i]-'a']; }}int get(char a[]){ int i,u; u=0; for(i=0;a[i];i++){ if(!s[u][a[i]-'a']) return 0; u=s[u][a[i]-'a']; } return v[u];} //Trie树模板,主要就是在建树的时候int main(){ //同时统计出每个前缀的数量 int n,m,i,j; while(scanf("%d",&n)!=EOF){ memset(s,0,sizeof(s)); memset(v,0,sizeof(v)); rt=1; for(i=1;i<=n;i++){ scanf("%s",a); in(a); } scanf("%d",&m); for(i=1;i<=m;i++){ scanf("%s",a); printf("%d\n",get(a)); } } return 0;}
阅读全文
0 0
- hihoCoder1014 Trie树 [Trie]
- hihocoder1014 : Trie树
- hihoCoder1014 Trie树
- hihocoder1014(Trie树)
- hihocoder1014 Trie树
- hihocoder1014 trie树模板
- c++字典树Trie树(hihocoder1014)
- hihocoder1014(字典树)
- hihoCoder1014 Tire树
- 字典树hihocoder1014
- Hihocoder1014 Tire前缀树 很好的模板
- TRIE树
- TRIE树
- TRIE树
- trie 树
- Trie树
- Trie树
- Trie树
- Linux服务器 CentOS 6系列最小化安装优化脚本详解01————yum优化、优化启动服务、调整TTY数量、调整TCP/IP网络参数
- 【HDU 1754】I Hate It
- C# socket通信 模拟服务器端、客户端
- java 位运算
- 编程第四十八天
- hihocoder1014(Trie树)
- 【Studio】利用Android Studio录制手机屏幕视频
- Linux 几个生疏命令
- 设计模式
- 浅析c#委托
- Web安全测试经验
- C#学习笔记
- ZZU15级软工最后一次算法作业
- 第八届蓝桥杯决赛小结