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

字典树查重(到底要开多大的空间啊)

前言:烦死了,这个题目一看就是用字典树来做,但是空间不知道开多大,烦死了
后来发现其实tree的第一维空间直接开极端的情况就行,就好像这一题,最多有 1e4 个字符串,每个字符串最长为 50,那我们假设所有的字符都是a,那我们必须要开 50 * 1e4 的空间


在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;int tree[55*27][27];
int record[55*27];
int idx = 0;
int n,m;void insert(char *a){int p = 0;for(int i=0;a[i];i++){int u = a[i]-'a';if(!tree[p][u]) tree[p][u] = ++idx;p = tree[p][u];}record[p] = 1;
}int query(char *a){int p = 0;for(int i=0;a[i];i++){int u = a[i] - 'a';if(!tree[p][u]) return 0;p = tree[p][u];}if(record[p]==1){record[p] ++; return 1;}return record[p];
}int main(){cin >> n;char a[60];for(int i=1;i<=n;i++){cin >> a;insert(a);}cin >> m;for(int i=1;i<=m;i++){cin >> a;int t = query(a);if(t==0) cout << "WRONG" << endl;if(t==1) cout << "OK" << endl;if(t>=2) cout << "REPEAT" << endl;}return 0;
}
http://www.lryc.cn/news/420277.html

相关文章:

  • 财务会计与管理会计(二)
  • 技术周总结 08.05-08.11周日
  • B树和B+树的插入、删除
  • Axios网络请求总结
  • 立仪科技光谱共焦应用之金属隔膜静态重复性测量
  • vue3实现video视频+弹幕评论
  • STM32-OTA升级
  • 一种JSON多态表示法
  • C语言实现单链表
  • 循环神经网络三
  • 优购电商小程序的设计
  • 【ARM】v8架构programmer guide(4)_ARMv8的寄存器
  • Java设计模式详细讲解
  • 图论------弗洛伊德(Floyd-Warshall)算法
  • C#实现动画效果
  • Git 对比 SVN 的区别和优势
  • Qt实现无边框窗口的拖动和缩放
  • 入门岛2-python实现wordcount并进行云端debug
  • c语言-链表1
  • 你好! Git——企业级开发模型
  • 力扣面试150 查找和最小的 K 对数字 最小堆 去重
  • Oceanbase 执行计划
  • 精品丨模型关系介绍
  • CentOS7 配置 nginx 和 php 方案
  • Promise.all全面解析:使用方法与实战技巧
  • NLP从零开始------9文本进阶处理之文本相似度计算
  • Electron 在 MAC 上的 build 签名应用配置
  • 15 交换机命令行配置
  • 工作流之Flowable与SpringBoot结合
  • python实战:数据分析基础知识