当前位置: 首页 > 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.yayakq.cn/news/823888/

相关文章:

  • 深圳网站设计公司行业WordPress付费阅读文章
  • 订阅号如何做微网站ps做网页设计的尺寸
  • 校园微信网站模板织梦网站怎样做子域名
  • 网站建设有哪些我们是谁 网站运营
  • 南京城乡建设局网站首页前端网站搜索导航怎么做
  • 上海知名的网站公司专业公司网站开发服务
  • 快速搭建网站的好处做网站 空间还是服务器
  • 中国公路建设行业协会网站这么上不怎么在网站上放广告
  • 毕业设计做健身房网站的意义腾讯云网站建设教程视频
  • 网站设计模板图片网页设计与制作的原则
  • 网站源码带后台企业网站托管费用
  • 购物网站开发的意义wordpress上传word
  • 电子商务网站建设如何吉首市建设局官方网站
  • 无锡做家纺公司网站云服务器管理
  • 网站上传用什么软件做视频wordpress投稿图片
  • 查企业网站昌平网站制作开发公司
  • 淄博网站开发网泰好温州建校网站
  • 网站后台怎么换图片网站建设硬件条件
  • 微网站开发服务免费网站模板建设
  • 如何做网站seo优化国外界面设计网站
  • 广东网站备案时间网站内容建设的核心和根本是
  • 拍卖网站开发多少钱wordpress字不能显示图片
  • 手机网站的尺寸做多大的有声直播网站建设
  • 做酱菜网站一套完整的室内设计图
  • 企业网站推广属于付费推广吗wordpress菜鸟
  • 乐都网站建设哪家好磁力猫最好磁力搜索引擎
  • 做商城网站会不会被攻击wordpress建站发文教程
  • 科讯cms制作网站完整教程wordpress防止频繁访问
  • 香河县做网站山东省住房和城乡建设厅网站注册中心
  • 网站设计与开发未来发展方向上海网站建设的网