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 ...
随机推荐
- 微信小程序开发的基本流程
微信小程序开发的基本流程 一,微信小程序简介 1,微信小程序简称小程序,张小龙在微信公开课 Pro 上发布的小程序正式上线,时间是2017年1月9日. 2,微信小程序这个词可以分解为“微信”和“小程序 ...
- apach ab 安装时的错误
1.cmd进入bin下:执行httpd -k install 需要管理员 登陆安装 我们打开conf文件夹,找到httpd.conf,修改如下内容,让serverroot指向你的安装位置: Defin ...
- ORA-28000: the account is locked解决办法
ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob, ...
- JS 类型检测
typeof 适合函数对象和基本类型的判断 typeof 100instanceof 适合判断对象类型 obj instanceof Object 基于原型链判断操作符,若做操作符不是对象,则会直接返 ...
- 牛客练习赛13D 幸运数字4
题目链接:https://ac.nowcoder.com/acm/contest/70/D 题目大意: 略 分析: 注意到12! < 10^9 < 13!,于是当n > 13时,第k ...
- centos6.8安装JDK
1.检测当前系统安装jdk信息 rpm -qa | grep jdk 2.如果检查到有安装信息,则用sudo yum remove XXX(XXX代表上面查到的结果) 3.下载rpm包,安 ...
- Python 构建工具 buildout 的介绍与使用
来到了新公司上班,首先就是得把自己的环境给搭起来.知乎使用了buildout作为python项目的构建工具. 那么什么是 buildout ? buildout的是一款自动化构建工具.由Zope团队开 ...
- List接口方法
package cn.zhou.com; /* * List?-------是啥? Collection 的一个子接口! * * 集合?容器? * * 区分容器,每个容器的数据结构不一样! * 集合, ...
- scrapy 项目搭建
安装好scrapy后,开始创建项目 项目名:zhaopin 爬虫文件名:zhao 1:cmd -- scrapy startproject zhaopin 2:cd zhaopin,进入项目目 ...
- Uninstall registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall