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内存管理
- 下一篇: 方法区如何判断是否需要回收