POJ--1056 IMMEDIATE DECODABILITY && POJ--3630 Phone List(字典树)
题目大意 看输入的每个字符串中是否有一个字符串是另一个字符串的前缀
#include<iostream> #include<cstring> #include<algorithm> #include<string.h> #include<stdio.h> using namespace std; #define maxn 10001 string b[maxn]; ; struct ac{ ]; void init(){ sum=;fa=; memset(nex,,sizeof(nex)); } }tre[maxn*]; void add(char a[],bool &f){ ,j=,k=; while(a[i]){ '; if(tre[k].nex[z]){ j=tre[k].nex[z]; tre[j].sum++; ; }else{ tre[k].nex[z]=++tot; j=tot; tre[j].init(); tre[j].sum++; } k=j; i++; } tre[k].fa++; } /*bool query(string a){ int i=0,j=0,k=0; while(i<a.size()-1){ int z=a[i]-'0'; if(tre[k].nex[z]){ j=tre[k].nex[z]; if(tre[j].fa) return 1; }else return 0; k=j; i++; } }*/ int main(){ ]; ,tt=; ; while(scanf("%s",a)!=EOF){ ]!='){ add(a,fa); }else{ if(fa) printf("Set %d is not immediately decodable\n",tt++); if(!fa){ printf("Set %d is immediately decodable\n",tt++); } len=;tot=,fa=; memset(tre,,sizeof(tre)); } } }
题目链接 : POJ--3630 Phone List
题意和上一个题差不多 都是找里面是否含有前缀和相同的
#include<iostream> #include<cstring> #include<algorithm> #include<string.h> #include<stdio.h> using namespace std; #define maxn 100010 ; struct ac{ ]; void init(){ sum=;fa=; memset(nex,,sizeof(nex)); } }tre[maxn]; void add(char a[],bool &f){ ,j=,k=; while(a[i]){ '; if(tre[k].nex[z]){ j=tre[k].nex[z]; tre[j].sum++; ) f=; ; }else{ tre[k].nex[z]=++tot; j=tot; tre[j].init(); tre[j].sum++; } k=j; i++; } tre[k].fa++; } /*bool query(string a){ int i=0,j=0,k=0; while(i<a.size()-1){ int z=a[i]-'0'; if(tre[k].nex[z]){ j=tre[k].nex[z]; if(tre[j].fa) return 1; }else return 0; k=j; i++; } }*/ ]; int main(){ int t; cin>>t; while(t--){ int n; scanf("%d",&n); memset(tre,,sizeof(tre)); tot=; ; ;j<n;j++){ scanf("%s",a); if(!fa) add(a,fa); } if(fa){ printf("NO\n"); }else{ printf("YES\n"); } } }
POJ--1056 IMMEDIATE DECODABILITY && POJ--3630 Phone List(字典树)的更多相关文章
- poj 1056 IMMEDIATE DECODABILITY 字典树
题目链接:http://poj.org/problem?id=1056 思路: 字典树的简单应用,就是判断当前所有的单词中有木有一个是另一个的前缀,直接套用模板再在Tire定义中加一个bool类型的变 ...
- POJ 2513 Colored Sticks(欧拉道路+字典树+并查集)
http://poj.org/problem?id=2513 题意: 给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的. 思路: 题目很明 ...
- poj 1056 IMMEDIATE DECODABILITY(KMP)
题目链接:http://poj.org/problem?id=1056 思路分析:检测某字符串是否为另一字符串的前缀,数据很弱,可以使用暴力解法.这里为了练习KMP算法使用了KMP算法. 代码如下: ...
- POJ 1056 IMMEDIATE DECODABILITY
IMMEDIATE DECODABILITY Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9630 Accepted: ...
- POJ 1056 IMMEDIATE DECODABILITY 【Trie树】
<题目链接> 题目大意:给你几段只包含0,1的序列,判断这几段序列中,是否存在至少一段序列是另一段序列的前缀. 解题分析: Trie树水题,只需要在每次插入字符串,并且在Trie树上创建节 ...
- POJ 1056 IMMEDIATE DECODABILITY Trie 字符串前缀查找
POJ1056 给定若干个字符串的集合 判断每个集合中是否有某个字符串是其他某个字符串的前缀 (哈夫曼编码有这个要求) 简单的过一遍Trie就可以了 #include<iostream> ...
- poj 3630 Phone List(字典树)
题目链接: http://poj.org/problem?id=3630 思路分析: 求在字符串中是否存在某个字符串为另一字符串的前缀: 即对于某个字符串而言,其是否为某个字符串的前缀,或存在某个其先 ...
- Phone List POJ 3630 Trie Tree 字典树
Phone List Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29416 Accepted: 8774 Descr ...
- Colored Sticks POJ - 2513 并查集+欧拉通路+字典树hash
题意:给出很多很多很多很多个棒子 左右各有颜色(给出的是单词) 相同颜色的可以接在一起,问是否存在一种 方法可以使得所以棒子连在一起 思路:就是一个判欧拉通路的题目,欧拉通路存在:没奇度顶点 或者 ...
- POJ 3007 Organize Your Train part II (字典树 静态)
Organize Your Train part II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6478 Acce ...
随机推荐
- Es6数值拓展
Es6数值拓展 一,Number扩展 1,ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 将0b和0o前缀的字符串数值转为十进制,要使用Number方法 N ...
- springboot的几种启动方式
一:IDE 运行Application这个类的main方法 二:在springboot的应用的根目录下运行mvn spring-boot:run 三:使用mvn install 生成jar后运行 先到 ...
- css 浮动问题 display显示 和 光标设置cursor
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>浮 ...
- 【python练习题】程序8
#题目:输出 9*9 乘法口诀表. for i in range(1,10): k = '' for j in range(1,i+1): k += '%s * %s = %s '%(i,j,i*j) ...
- bzoj4152-[AMPPZ2014]The_Captain
Description 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用. Input 第一行包含一个正整数n(2 ...
- 双系统windows+linux如何正确删除linux
双系统windows+linux如何正确删除linux 2017年11月16日 10:42:49 dovepym 阅读数:26363 之前在windows的基础上又安装了ubuntu系统16.04 ...
- 使用Java泛型返回动态类型
返回一个指定类型的集合,并且clazz必须继承IGeoLog对象或者是其本身 <T extends IGeoLog> List<T> getLogListSql(Class&l ...
- JQ用法
jQuery简称jq,是一款同prototype一样优秀js开发库类,特别是对css和XPath的支持,使我们写js变得更加方便!如果你不是个js高手又想写出优 秀的js效果,jq可以帮你达到目的!下 ...
- BZOJ3876[Ahoi2014&Jsoi2014]支线剧情——有上下界的最小费用最大流
题目描述 [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往 都有很多的支线剧情,现在JYY想花费 ...
- POJ 2112-Optimal Milking-二分答案+二分图匹配
此题有多种做法. 使用floyd算法预处理最短路,二分答案,对于每一个mid,如果距离比mid小就连边, 注意把每个机器分成m个点.这样跑一个最大匹配,如果都匹配上就可以减小mid值. 用的算法比较多 ...