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 ...
随机推荐
- css太极
自己用css做的太极,留个纪念. 用css做太极有很多种实现方法,我这种大概是最简单的了吧,因为div用得太多了,哈哈. 高级一点的应该是用伪类:before和:after去减少div的用量(手动滑稽 ...
- oracle常用函数案例
--INSTR函数 SELECT INSTR(' HELLO WORLD','H') FROM DUAL; --LTRIM RTRIM函数 SELECT LTRIM('*HELLO=','*') FR ...
- vue的地图插件amap
https://www.jianshu.com/p/0011996b81e2(amap) npm install vue-amap --save
- C# Note10: AutoComplete TextBox in WPF
参考: 1.https://stackoverflow.com/questions/950770/autocomplete-textbox-in-wpf 2.AutoCompleteBox的使用(实现 ...
- JavaList addAll removeAll
List<String>list1=new ArrayList<>(); list1.add("a"); list1.add("b"); ...
- k8s容器的资源限制
1.k8s支持内存和cpu的限制 requests:容器运行需求,最低保障limits:限制,硬限制(资源上限) CPU: 1颗逻辑CPU(1核CPU=4个逻辑CPU) 1物理核=1000个微核(mi ...
- WPF 如何创建自己的WPF自定义控件库
在我们平时的项目中,我们经常需要一套自己的自定义控件库,这个特别是在Prism这种框架下面进行开发的时候,每个人都使用一套统一的控件,这样才不会每个人由于界面不统一而造成的整个软件系统千差万别,所以我 ...
- ajax获得后台传来的一个json值,在js中获得其中的属性值
首先 ajax的dataType需要设置为json, 默认的text获取属性值在jquery3.2.1中尝试不成功 获得属性值的方式: 类似数组,键值对的方式 下面例子: 设置dataType为jso ...
- Java多线程之定时任务(Timer)
package org.study2.javabase.ThreadsDemo.schedule; import java.util.Date; import java.util.Timer; imp ...
- Lodop部署web网站 客户端本地打印角色
Lodop用于客户端本地打印,部署到web网站非常简单,此博文介绍的是混合部署方式,该方式兼容所有浏览器,当浏览器支持np插件的时候,使用Lodop插件方式,浏览器不支持np插件,会用C-Lodop服 ...