zoukankan
html css js c++ java
Codeforces 514 D R2D2 and Droid Army(Trie树)
[题目链接](http://codeforces.com/problemset/problem/514/D) 大意是判断所给字符串组中是否存在与查询串仅一字符之差的字符串。 关于字符串查询的题,可以用[字典树(Trie树)](http://www.cnblogs.com/orangee/p/8912971.html)来解,第一次接触,做个小记。在查询时按题目要求进行查询。 代码: ```C++ #define _CRT_SECURE_NO_DEPRECATE #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; typedef long long ll; typedef pair
P; typedef map
M; typedef vector
V; typedef queue
Q; const int maxn = 6 * 100000 + 10; const int N = 3; struct trie { trie* next[N]; int count; }; typedef trie* link; link create() { link p = new trie; p->count = 0; for (int i = 0; i < N; ++i) p->next[i] = NULL; return p; } void insert(char* s, link root) { char* p = s; link node = root; while (*p) { if (node->next[*p - 'a']==NULL) node->next[*p - 'a'] = create(); node = node->next[*p - 'a']; ++p; } node->count++; return; } bool query(char* s, link pos,int cnt) { if (*s == ' ') { if (cnt == 1 && pos->count) return true; else return false; } for (int i = 0; i < N; ++i) { if (i != *s - 'a' && cnt==0 && pos->next[i]) { if (query(s + 1, pos->next[i], 1)) return true; } if (i == *s - 'a' && pos->next[i]) { if (query(s + 1, pos->next[i], cnt)) return true; } } return false; } char s[maxn]; int main() { int n,m,k,i,j; link root=create(); cin >> n >> m; for (i = 0; i < n; ++i) { scanf("%s", s); insert(s, root); } for (i = 0; i < m; ++i) { scanf("%s", s); if (query(s, root, 0)) cout << "YES "; else cout << "NO "; } return 0; } ```
查看全文
相关阅读:
Eclipse用法与技巧——导入工程时报错(already exist in the workspace)
小F的2013应届校招历程小结
java知识积累——单元测试和JUnit(二)
vue 中的 .sync 修饰符 与 this.$emit('update:key', value)
vue 中的 provide/inject
2011/08/27 刷机器,遭遇白苹果,不可连接ipod服务器 的解决
传输文件过程中遇到异常被中断
窗体的置顶显示
将截图图片放入内存(剪贴板)中
WPF加载相对路径的图片的解决方法
原文地址:https://www.cnblogs.com/orangee/p/8913065.html
最新文章
nc的常规用法
tcpdump抓包
iptables 相关
kubelet修改docker主目录
分享一个分词系统,中科院分词系统NLPIR
HOOK专题[来自微软中国社区]
C#图片处理示例(裁剪,缩放,清晰度,水印)
DependencyProperty
c#走出误区。
Java知识积累——日志组件:log4j、logback、commonlogging
热门文章
毕业生的摸爬滚打——合同与协议的陷阱
Go语言知识积累——特点简介与windows开发环境搭建
回首十年——写给还在各等级教育中盲目学习的人
Java知识积累——单元测试和JUnit(一)
【腾讯第二届校园编程马拉松】HDU4525,威威猫系列故事——吃鸡腿
毕业生的摸爬滚打——劳务协议和劳务报酬的计算
2012 Gartner软件成熟度曲线
Eclipse快捷键大全(转载)
Java知识积累——logback日志工具,告别到处输出变量值来调试程序的时代吧~
Eclipse配色方案插件——让你的工作界面美起来
Copyright © 2011-2022 走看看