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

图标网站导航制作怎么做小红书搜索关键词排名

图标网站导航制作怎么做,小红书搜索关键词排名,建站全过程,做外贸需要什么网站题目: 维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 x𝑥;Q x 询问一个字符串在集合中出现了多少次。 共有 N𝑁 个操作,所有输入的字符串总长度不超过 10^5,字符串仅…

题目:

维护一个字符串集合,支持两种操作:

  1. I x 向集合中插入一个字符串 x𝑥;
  2. Q x 询问一个字符串在集合中出现了多少次。

共有 N𝑁 个操作,所有输入的字符串总长度不超过 10^5,字符串仅包含小写英文字母。

输入格式

第一行包含整数 N𝑁,表示操作数。

接下来 N𝑁 行,每行包含一个操作指令,指令为 I x 或 Q x 中的一种。

输出格式

对于每个询问指令 Q x,都要输出一个整数作为结果,表示 x𝑥 在集合中出现的次数。

每个结果占一行。

数据范围

1≤N≤2∗10^4

解题分析:

本题是Acwing上的一道模板题,Trie树又叫字典树,就是一个像字典一样的树,可以帮助我们快速查找一个字符串是否出现过。通常采用树的边来代表字母,从根节点到树中的某一个结点表示一个字符串,以下是一张OI Wiki的树图:

在图中,aa,aba,ba,caaa,cab,cba,cc均是字符串。我们通常会在每个字符串末尾打上一个标记,用于查询过程中判断到这个标记时,就可读取为一个字符串,从而达到“字典”的效果。

C++实现如下:

#include <iostream>using namespace std;const int N = 100010;int son[N][26], cnt[N], idx;
char str[N];void insert(char *str)
{int p = 0;  for(int i = 0; str[i]; i++){int u = str[i] - 'a'; if(!son[p][u]) son[p][u] = ++idx;   p = son[p][u];  }cnt[p]++;  
}int query(char *str)
{int p = 0;for(int i = 0; str[i]; i++){int u = str[i] - 'a';if(!son[p][u]) return 0;  p = son[p][u]; }return cnt[p];  
}int main()
{int m;cin >> m;while(m--){char op[2];scanf("%s%s", op, str);if(*op == 'I') insert(str);else printf("%d\n", query(str));}return 0;
}
http://www.wangmingla.cn/news/145637.html

相关文章:

  • 怎么做网站app比百度好用的搜索软件手机版
  • 广州app开发服务深圳seo优化服务商
  • seo网站推广报价北京网站建设公司哪家好
  • 网站如何做浮窗短视频seo排名系统
  • wamp 网站开发首先做什么百度百科合作模式
  • 手机免费建设网站制作搜狗seo
  • 做网站基本语言湖南seo排名
  • 求推荐软件毕设代做靠谱网站seo资源
  • wordpress守望长沙百度网站优化
  • 佛山网站优化搜索福州外包seo公司
  • 恩施建设委员会官网站aso100官网
  • 广东住房建设厅网站seoul是什么意思中文
  • 专门做cg视频网站站长素材网
  • 营销网站竞品分析报告百度推广手机版
  • wordpress插件云采集seo搜索引擎优化是
  • 品牌策划书案例手机系统优化工具
  • 网站建设论文3000字范文设计公司网站模板
  • 禅城网站建设公司互联网营销公司
  • 网站建设南阳搜狗搜索推广
  • 用spl做网站上海网络营销seo
  • 做网站可以用自己的主机蚌埠网络推广
  • 戚墅堰做网站网络营销产品的特点
  • 网站测试流程百度运营公司
  • 宝应县天宇建设网站不受国内限制的搜索引擎
  • 上海网站建设-目前企业网站所面临的困惑河南网站建设公司哪家好
  • 保定学校网站建设电商中seo是什么意思
  • 青岛网红打卡景点seo排名哪家公司好
  • 核工业华南建设工程集团公司网站搜狗友链交换
  • 网站开发最新教程windows优化大师卸载不掉
  • 网站页面优化工具网站设计框架