hdoj 5687 2016"百度之星" - 资格赛Problem C【字典树--增--删--查】
来源:互联网 发布:qq业务自助下单php源码 编辑:程序博客网 时间:2024/05/19 06:49
欢乐嘣嘣嘣:5687
字典树的添加--查找--删除--
注意:
删除的是所有前缀等于给定字符串的单词。
例如:
插入:
abc
abd
删除
abc
查找
ab=YES
删除
abd
查找
ab=NO
代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct trie{trie * next[26];int p;}P[3300000];int kp;trie * boot=&P[0];void insert(char xx[]){trie *k=boot;int j,ll=strlen(xx);for (int i=0;i<ll;i++){j=xx[i]-'a';if (!k->next[j])k->next[j]=&P[kp++];k=k->next[j];k->p++;}}int search(char xx[]){trie *k=boot;int j,ll=strlen(xx);for (int i=0;i<ll;i++){j=xx[i]-'a';if (!k->next[j])return false;k=k->next[j];}return true;}void dele(char xx[]){trie *k=boot;int j,ll=strlen(xx);for (int i=0;i<ll;i++){j=xx[i]-'a';if (!k->next[j])return ;k=k->next[j];}int pp=k->p;k=boot;for (int i=0;i<ll;i++){j=xx[i]-'a';k->next[j]->p-=pp;if (k->next[j]->p==0){k->next[j]=NULL;break;}k=k->next[j];}}int main(){int n;scanf("%d",&n);char ch[10],xx[40];kp=1;while (n--){scanf("%s%s",ch,xx);if (ch[0]=='i')insert(xx);else if (ch[0]=='d')dele(xx);else{int op=search(xx);printf("%s\n",op?"Yes":"No");}}return 0; }/*45insert abcinsert abdsearch adelete abcsearch adelete abdsearch a*/
0 0
- hdoj 5687 2016"百度之星" - 资格赛Problem C【字典树--增--删--查】
- 2016"百度之星" - 资格赛 Problem C 字典树
- 2016-百度之星-资格赛-Problem C【字典树】
- 2016"百度之星" - 资格赛(Astar Round1)Problem C(字典树)
- 2016"百度之星" - 资格赛 Problem C
- 百度之星 2016资格赛 Problem C
- HDU-5687 Problem C(2016"百度之星"-资格赛)
- Problem C (字典树的查找删除和插入)2016"百度之星" - 资格赛(Astar Round1)
- bd之星资格赛Problem C(字典树(带删除))
- 2016"百度之星" - 资格赛(Astar Round1)Problem C
- 2016"百度之星" - 资格赛(Astar Round1)Problem C
- 2016百度之星 资格赛 1003 Problem C 容器瞎搞
- 2016 百度之星资格赛 Problem C (Trie模板)
- HDU 5687 Problem C (2016年百度之星资格赛C题)
- 2016百度之星资格赛 Problem B
- 2016"百度之星" - 资格赛 Problem A
- 2016"百度之星" - 资格赛 Problem D
- 2016"百度之星" - 资格赛 Problem B
- 设计模式全解(四)
- POJ2331Water pipe(IDA*)
- Android Studio安装过程及常见问题
- 使用C# .net开发微信公众号之创建自定义菜单
- POJ - 2566 Bound Found(尺取法)
- hdoj 5687 2016"百度之星" - 资格赛Problem C【字典树--增--删--查】
- javaee之在线支付案例
- 2016多校训练Contest7: 1003 Colosseo hdu5811
- Android开发基础(1)(打电话,发短信,常用布局)
- hdu1248 寒冰王座 二维数组动态规划
- IoC容器Autofac使用入门(二)
- Ubuntu 16.04 下安装 win7 虚拟机
- read( )函数注意事项与不足
- okHttp封装,使用超简单的网络请求实现