Luogu P2580 于是他错误的点名开始了 Trie树 字典树
生活随笔
收集整理的这篇文章主要介绍了
Luogu P2580 于是他错误的点名开始了 Trie树 字典树
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
字典树裸题。每次插入询问串,查询的时候拿出来直接查,信息保留在节点上。
#include <bits/stdc++.h> using namespace std;char s[51]; int n, m, max_size = 0; int ch[500010][27], sum[500010];void add_str () {int l = strlen (s), now = 0;for (int i = 0; i < l; ++i) {if (!ch[now][s[i] - 'a']) {ch[now][s[i] - 'a'] = ++max_size;}now = ch[now][s[i] - 'a'];}sum[now] = 1; }void get_ans () {int l = strlen (s), now = 0;for (int i = 0; i < l; ++i) {if (!ch[now][s[i] - 'a']) {puts ("WRONG");return;}now = ch[now][s[i] - 'a'];}if (sum[now] == 1) {puts ("OK");sum[now]++;} else if (sum[now] == 2) {puts ("REPEAT");} else if (sum[now] == 0) {puts ("WRONG");} }int main () {cin >> n;for (int i = 1; i <= n; ++i) {scanf ("%s", s);add_str ();}cin >> m;for (int i = 1; i <= m; ++i) {scanf ("%s", s);get_ans ();} }转载于:https://www.cnblogs.com/maomao9173/p/10441277.html
总结
以上是生活随笔为你收集整理的Luogu P2580 于是他错误的点名开始了 Trie树 字典树的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: java基础(一):谈谈java内存管理
- 下一篇: 方法区如何判断是否需要回收