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

网站开发需要学mvc吗宁波建站模板系统

网站开发需要学mvc吗,宁波建站模板系统,宁波妇科专家排名,阿米纳网站建设Trie树:用来高效的存储和查找字符串集合的数据结构。 维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 x ; Q x 询问一个字符串在集合中出现了多少次。 共有 N 个操作,所有输入的字符串总长度不超过 1…

Trie树:用来高效的存储和查找字符串集合的数据结构。

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

I x 向集合中插入一个字符串 x

Q x 询问一个字符串在集合中出现了多少次。
共有 N
个操作,所有输入的字符串总长度不超过 105
,字符串仅包含小写英文字母。

输入格式
第一行包含整数 N
,表示操作数。

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

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

每个结果占一行。

数据范围
1≤N≤2∗104
输入样例:
5
I abc
Q abc
Q ab
I ab
Q ab
输出样例:
1
0
1
一些有助于理解的:
(1)关于理解int son[N][26] 这个二维数组的心得

Tire树本质上一个多叉树,最多可以分多少叉呢?因为此题存的都是小写字母,所以是26叉;

这里就解释了son这个二维数组的第二维的含义,就是他最多有26个孩子,那么他是谁呢,他当然是结点了,那结点之间怎么区分,或者这些孩子的爸爸叫啥,爸爸们用下标来区别,所以第一维就是爸爸们的id,son[0][1]含义就是0号爸爸有个儿子b ,那son[0][1] = 2,就是0号爸爸有个儿子b,儿子的id是2; 这些id就是由idx` 来赋值的;

idx可以理解为计划生育的管理局的给上户口的,生一个孩子,给孩子上身份证,证件上ID 为++idx ,而孩子叫啥,其实就是26个小写字母中的其中一个了;

对于每个结点而言,可以知道他有没有这个孩子,有的话叫啥,在哪里;

对于查询,从根节点一路查下来,就可以找到某个字符串在不在;

对于插入字符串,也是一路下来,看有没有这个儿子,没有了给你生个儿子,有了继续给下面找,所以只插入该字符串中原来不存在的字符即可; 也就是利用了公共前缀来降低查询时间的开销以达到提高效率的目的;

“Trie这个名字取自“retrieval”,检索,因为Trie可以只用一个前缀便可以在一部字典中找到想要的单词。”

(2)trie树那里,一开始以为[N][26]的第一维度是树的层数;其实,一维是结点总数,而结点和结点之间的关系(谁是谁儿子)存在第二个维度,比如[0][1]=3, [0]表示根节点,[1]表示它有一个儿子‘b’,这个儿子的下标是3;接着如果有一个[3][2]=8 ; 说明根节点的儿子‘b’也有一个儿子‘c’,这个孙子的下标就是8;这样传递下去,就是一个字符串。随便给一个结点][x][y], 并不能看出它在第几层,只能知道,它的儿子是谁。

#include <iostream>using namespace std;const int N = 100010;int son[N][26], cnt[N], idx; //下标是0的点,即是根节点又是空节点
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 n;scanf("%d", &n);while( n -- ){char op[2];scanf("%s%s", op, str);if(op[0] == 'I') insert(str);else printf("%d\n", query(str));}return 0;
}
http://www.yidumall.com/news/16875.html

相关文章:

  • 大型门户网站开发案例线下推广方式有哪些
  • wordpress 用户信息修改seo产品推广
  • 婚纱摄影网站模板源码谷歌推广怎么样
  • 在线网站推荐几个百度搜索怎么优化
  • 建设企业资质双网是哪两个网站人力资源和社会保障部
  • 辽宁建设厅勘察设计网站长沙网络营销公司排名
  • 万盛经开区建设局官方网站名词解释seo
  • 网页线上开发制作seo优化6个实用技巧
  • 检查网站的跳转路径是否清晰 哪里要优化杭州免费网站制作
  • 简单官网模板seo同行网站
  • wordpress菜单栏插件北京seo地址
  • 怎么做自己的网购网站谷歌搜索引擎镜像入口
  • 建设网站号码北京百度推广公司
  • 成都 网站建设培训网站seo推广平台
  • 网页和网站有什么关系晨阳seo服务
  • 如何做网站啊网站seo提升
  • 营销型企业网站建设教案网站建站设计
  • 南宁网站建设招聘搜索引擎营销分析
  • 秦皇岛黄页大全秦皇岛本地信息网济南百度seo
  • 域名 网站宽带营销案例100例
  • 2008r2网站建设搜狗推广
  • 怎么在网上建网站啊在线网页编辑平台
  • 网站反链数4p 4c 4r营销理论区别
  • 哪个网站可以做问卷调查掉发脱发严重是什么原因
  • 手机网站建设公司电话咨询软文的概念
  • 中低端网站建设客户网优化20条措施
  • 晋源网站建设网站注册域名
  • 安宁网站建设与制作360seo关键词优化
  • 焦作网站建设哪家权威企业网站制作公司
  • 如何做新网站保留域名域名注册哪个网站好