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 ...
随机推荐
- React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例)
React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例) TextInput组件介绍 TextInput是一个允许用户在应用中通过键盘输入文本的基本组 ...
- java.lang包【Object类】
基本描述: (1)Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: (2)Object类是所有Java类的祖先.每个类都使用 Obje ...
- [转帖]Docker的daemon.json的作用
Docker(十六)-Docker的daemon.json的作用 https://www.cnblogs.com/zhuochong/p/10070434.html jfrog 培训的时候 说过这个地 ...
- Laravel技巧:使用load、with预加载 区别
1.使用load $posts = Post::all(); $posts->load('user'); 2.使用with $posts = Post::with('user')->all ...
- git ignore 忽略 idea文件
下载了项目组的代码之后发现,一个问题,一编译就生成了很多的 .idea文件夹 还有 target文件夹,这些是不需要提交到git上的, 需要提交的时候屏蔽一下,所以需要建立一个ignore文件列表把他 ...
- 转载:实现MATLAB2016a和M文件关联
转载自http://blog.csdn.net/qq_22186119 新安装MATLAB2016a之后,发现MATLAB没有和m文件关联 每次打开m文件后都会重新打开一次MATLAB主程序 后来发现 ...
- Web API Help Page Install WebApiTestClient 简单的测试客户端
第一步: 安装the Test Client package 从NuGet安装包管理安装WebApiTestClient . 确保选择 “Include Prerelease” 然后输入 “WebAp ...
- c++中结构体sort()排序
//添加函数头 #include <algorithm> //定义结构体Yoy typedef struct { double totalprice; //总价 doubl ...
- PC平台的SIMD支持检测
如果我们希望在用SIMD来提升程序处理的性能,首先需要做的就是检测程序所运行的平台是否支持相应的SIMD扩展.平台对SIMD扩展分为两部分的支持: CPU对SIMD扩展的支持.SIMD扩展是随着CPU ...
- Nginx 如何减轻高流量下的压力
L:102 比如 Nginx 缓存服务出现问题(比如新增服务器等造成缓存失效) 所有资源请求直接穿透上游服务器 造成上游服务器压力倍增 特别热点文件 都是访问同个文件 以下可以减轻上述问题 第二种方 ...