欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Luogu P2580 于是他错误的点名开始了 Trie树 字典树

发布时间:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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树 字典树的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。