UVA644 Immediate Decodability

Trie

Trie模板题

难度几乎相等的题P2580 于是他错误的点名开始了

对于每组数据都清空树太浪费时间,所以我们只要在需要新点时预先把新点原有的数据清空即可。

剩下除了一些细节要注意,没啥要说的了

(luogu的标签系统有些迷啊)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
struct data{
int nxt[]; bool end;
void clear() {nxt[]=nxt[]=; end=;} //清空原先的数据
}a[]; //对于每个节点,存储它的下一个字母,以及是否是某个字母的结束符
char q[];
int cnt; //节点编号
bool ok;
inline void insert(){
int u=,len=strlen(q); bool ins=; //ins:是否插入新节点
for(int i=;i<len;++i){
int p=q[i]-'';
if(!a[u].nxt[p]){ //如果之前没有这个节点就插入
a[++cnt].clear();
a[u].nxt[p]=cnt; ins=;
}
if(a[u].end) ok=; //如果某个在它之前插入的单词是它的前缀
u=a[u].nxt[p]; //跳转到下一个
}
if(!ins) ok=; //如果它是某个在它之前插入的单词的前缀
a[u].end=;
}
int main(){
int t=;
while(cin>>q){
if(q[]=='') { //一组数据的结束
printf("Set %d is ",++t);
if(ok) printf("not ");
printf("immediately decodable\n");
cnt=; ok=; a[].clear(); //注意树根0也要清空
}else insert();
}
return ;
}

UVA644 Immediate Decodability的更多相关文章

  1. 「UVA644」 Immediate Decodability(Trie

    题意翻译 本题有多组数据.每组数据给出一列以"9"结尾的仅包含'0'和'1'的字符串,如果里面有一个是另一个的子串,输出"Set &case is not imm ...

  2. UVA大模拟代码(白书训练计划1)UVA 401,10010,10361,537,409,10878,10815,644,10115,424,10106,465,10494

    白书一:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=64609#overview 注意UVA没有PE之类的,如果PE了显示WA. UVA ...

  3. Immediate Decodability UVA-644(qsort排序 + 模拟)

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  4. Immediate Decodability[UVA644](Trie入门)

    传送门 题意:给出一些数字串,判断是否有一个数字串是另一个串的前缀. 这题真的可以算是Trie树的一道模板题了. 先把Trie树建好,建树的时候记录一个sum表示一个节点有多少个串会包含此节点,然后再 ...

  5. UVa 644 Immediate Decodability

    吐槽下我的渣渣英语啊,即使叫谷歌翻译也没有看懂,最后还是自己读了好几遍题才读懂. 题目大意:题意很简单,就是给一些互不相同的由'0','1'组成的字符串,看看有没有一个字符串是否会成为另一个的开头的子 ...

  6. hdu 1305 Immediate Decodability(字典树)

    Immediate Decodability Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  7. Immediate Decodability(字典树)

    Immediate Decodability Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  8. POJ1056 IMMEDIATE DECODABILITY & POJ3630 Phone List

    题目来源:http://poj.org/problem?id=1056   http://poj.org/problem?id=3630 两题非常类似,所以在这里一并做了. 1056题目大意: 如果一 ...

  9. HDU 1305 Immediate Decodability 可直接解码吗?

    题意:一个码如果是另一个码的前缀,则 is not immediately decodable,不可直接解码,也就是给一串二进制数字给你,你不能对其解码,因解码出来可能有多种情况. 思路:将每个码按长 ...

随机推荐

  1. 反正切函数atan与atan2的区别

    atan 和 atan2 都是求反正切函数,如:有两个点 point(x1,y1), 和 point(x2,y2); 那么这两个点形成的斜率的角度计算方法分别是: float angle = atan ...

  2. POJ_3186_Treats for the Cows

    Treats for the Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6568   Accepted: 34 ...

  3. 东哥讲义2 - 基于TCP,UDP协议的攻击,分析与防护

    TCP SYN FLOOD 攻击 正常的TCP三次握手过程: 处于SYN FLOOD攻击状态时的三次握手过程: 查看示例:x_syn.c文件,一个实现了自定义mac,ip,tcp头部的syn floo ...

  4. IDEA 配置环境和相关工具整理(新手入门)

    转载自:https://blog.csdn.net/moneyshi/article/details/79722360 因项目环境需要,开发工具需要统一 , 项目团队都使用idea,所以不得已自己也配 ...

  5. 查询删除安装rpm -qa | grep -i wrapname

    查询:rpm -qa | grep -i wrapname 删除:sudo rpm -ev wrapname 删除依赖:sudo rpm -ev --nodeps mysql-libs-5.6.60- ...

  6. 一次性从git远程仓库中克隆到本地。

    自动化工具 一次性从git远程仓库中克隆到本地. import os # git操作 将远程repo克隆到本地 def git_clone_cd_pull(url): # 获取仓库名称 如fullsp ...

  7. 2018中国(深圳)IT领袖峰会马化腾演讲全文《数字中国的机遇与探索》

    我们今天大会的主题是数字中国,也佩服我们吴鹰主席在十年前就想到发展的趋势,这么早就把我们联合会取名数字中国.昨天有一个闭门会议,有相当大的篇幅大家都谈了科技.谈创新,大家觉得科技的威力和优势越来越明显 ...

  8. VUE 使用之:nextTick

    <div class="app"> <div ref="msgDiv">{{msg}}</div> <div v-if ...

  9. 启动InnoDB引擎的方法

    启动InnoDB引擎的方法 http://down.chinaz.com/server/201207/2090_1.htm 启动InnoDB引擎的方法 Mysql中默认的是MyISAM数据引擎,可惜此 ...

  10. 完成向后台添加用户的ssm项目,完整版

    1:ssm框架整合 1.1添加maven依赖pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns: ...