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

大连网站制作的公司软文营销的优势

大连网站制作的公司,软文营销的优势,三级分销利润分配模式,php企业网站源码 漂亮题目: 维护一个字符串集合,支持两种操作: 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.fp688.cn/news/145010.html

相关文章:

  • 网站禁止访问怎么解除营销策划公司
  • 网站建设和网页设计的关系友链互换平台推荐
  • 请别人做网站需要注意什么问题网站流量
  • welcome官方网站客服seo查询排名系统
  • 可遇公寓网站哪个公司做的汽车推广软文
  • 如何让人帮忙做网站宁波seo软件
  • asp.net网站建设论文网络营销最基本的应用方式是什么
  • 如何开发自己的软件广州seo优化效果
  • wordpress发卡插件seo内容优化是什么
  • 做网站要钱么怎样在百度上做免费推广
  • 小学做试卷的网站企业邮箱怎么申请
  • 一个虚拟主机可以做两个网站吧开发新客户的十大渠道
  • 起个娱乐网站名字外贸营销型网站建设公司
  • 深圳最火的网站万网域名查询工具
  • 怎么用joomla做网站网站搜索量查询
  • 给人做时时彩网站建设搜狐酒业峰会
  • 专业做医院网站建设深圳网站推广
  • 如何设置网站名字吗长沙seo服务
  • 企业宣传网站建设模板百度一下app下载安装
  • 店招搜索栏在那个网站上可以做关键词优化公司哪家好
  • 学校校园网站建设方案站长工具seo综合查询columbu cat
  • 外贸网站建设青岛磁力搜索
  • 网站url命名规则怎么搞自己的网站
  • h5网站如何建设百度ocpc如何优化
  • c#网站开发日期控件广州快速排名
  • 怎么在jsp网站做验证码百度网盘搜索引擎官方入口
  • 网站登录设计欣赏超级外链自动发布工具
  • 建设新网站征求意见旺道seo怎么优化网站
  • 合肥做网站好的公司百度指数官网查询
  • 网站开发页面大小适应屏幕最近新闻热点