当前位置: 首页 > article >正文

P3879 [TJOI2010] 阅读理解- 字典树

题面

分析

将所有单词存入字典树,重点值怎么判断在哪一行出现过,对于字典树查询的判断字符串是否存在的数组可以开成二维,也就是在查询到某个字符串存在后,再通过循环判断每一层是否存在。

代码
#include <bits/stdc++.h>

#define int long long

using namespace std;

const int N = 5e5 + 10;

int son[N][30];
bitset<1010> vis[N];
int idx;
int n;

void insert(string s, int i) {
    int p = 0;
    for(int i = 0; i < s.size(); i ++) {
        int c = s[i] - 'a';
        if(!son[p][c]) son[p][c] = ++ idx;
        p = son[p][c];
    }
    vis[p][i] = 1;
}

vector<int> query(string s) {
    int p = 0;
    vector<int> ans;
    for(int i = 0; i < s.size(); i ++) {
        int c = s[i] - 'a';
        if(!son[p][c]) return ans;
        p = son[p][c];
    }
    for(int i = 1; i <= n; i ++) {
        if(vis[p][i]) ans.push_back(i);
    }
    return ans;
}

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> n;
    for(int i = 1; i <= n; i ++) {
        int l;
        cin >> l;
        for(int j = 0; j < l; j ++) {
            string s;
            cin >> s;
            insert(s, i);
        }
    }
    int m;
    cin >> m;
    while(m --) {
        string s;
        cin >> s;
        vector<int> ans = query(s);
        for(int i = 0; i < ans.size(); i ++) cout << ans[i] << ' ';
        cout << "\n";
    }
}


http://www.kler.cn/a/132668.html

相关文章:

  • spi 回环
  • Nacos 配置中心变更利器:自定义标签灰度
  • 基于多模板配准的心腔分割算法
  • Linux :进程间通信之管道
  • Ubuntu 22.04.4 LTS + certbot 做自动续签SSL证书(2024-11-14亲测)
  • vueRouter路由切换时实现页面子元素动画效果, 左右两侧滑入滑出效果
  • Java学习 10.Java-类和对象
  • Android Fragment 要你何用?2.0版本
  • 计算机msvcr120.dll丢失的解决方法,分享多种亲测可靠的方法
  • Python---函数练习:编写一个打招呼程序
  • C#学习相关系列之Linq常用方法---排序(一)
  • 使用FP8加速PyTorch训练
  • 2.2 调用星火大模型的API
  • 对产品实现汇率换算服务(将两个CompletableFuture对象整合起来,无论它们是否存在依赖)
  • 下厨房网站月度最佳栏目菜谱数据获取及分析
  • ZHUTI主提2024春夏 聆听「宁静的声音」
  • Javaweb之Vue指令案例的详细解析
  • 单例模式(常用)
  • The ultimate UI kit and design system for Figma 组件库下载
  • Flume学习笔记(2)—— Flume进阶
  • MSYS2介绍及工具安装
  • 新的开始,不断学习
  • 阿里AoneFlow分支管理
  • SVM之SVR参数详解以及调参
  • C语言开发者的利器:gcc编译命令指南
  • iOS 添加震动效果