题目


思路

  • Tire 树适合存储和查询字符串
  • 给每一个末尾节点打上标记,记录此节点出现了几次
  • 如果查询的字符串最后一个节点没有打标记,也就是不在Tire树的末尾,即使前面都匹配了,我们也认为不存在这个字符串


注意

  • int son[N][26]
  • p,u可以当作开始节点和结束节点
  • 最多26种字母

代码

#include <iostream>using namespace std;const int N = 100010;//分别记录Tire树节点,
//某个节点出现次数 和 指向节点的指针
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; //如果Tire树没有这条路径,创建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 == 'I') insert(str);else printf("%d\n", query(str));}return 0;
}

ACW 835. Trie字符串统计相关推荐

  1. 835. Trie字符串统计

    Trie字符串统计 #include <iostream> #include <cstring> using namespace std; int f[100101][29]; ...

  2. ~~Trie树(数据结构)(附题目:AcWing 835. Trie字符串统计)

    模板 int son[N][26], cnt[N], idx; // 0号点既是根节点,又是空节点 // son[][]存储树中每个节点的子节点 // cnt[]存储以每个节点结尾的单词数量// 插入 ...

  3. Trie 字符串统计+最大异或对

    字符串统计 树状存储 从根节点向下一串是一个单词,红星是标记,是单词尾的标记 将二十六个字母映射为0~25的数字 #include<iostream> #include<algori ...

  4. Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)

    1. 概述说明 import "strings" strings 包实现了用于操作字符的简单函数. strings 包与 bytes 包中的函数用法基本一样. 2. 主要函数 2. ...

  5. C++描述杭电OJ 2017.字符串统计||

    C++描述杭电OJ 2017.字符串统计|| Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的 ...

  6. elasticsearch 条件去重_elasticsearch 笔记四 之聚合查询之去重计数、基础统计、百分位、字符串统计...

    这一节笔记还是聚合查询,以下是本节目录:去重统计 cardinality 基础统计 stats 百分位 percentiles 字符串统计 string_stats 1.去重统计 cardinalit ...

  7. 输入字符串统计字符串中每个字符出现的次数

    这是一个作业题. 我还遇到两次了- 利用map集合嘿哈哈搞定- import java.util.HashMap; import java.util.Scanner;public class Cacl ...

  8. 在线字符串长度计算,字符串统计工具

    在线字符串长度计算,字符串统计工具 在线字符串长度计算,字符串统计工具 本工具支持统计给定的字符串的总数,中文总数,英文总数,符号总数和数字总数等数据. 客户端实时计算,数据实时更新. https:/ ...

  9. 【Java例题】8.2 手工编写字符串统计的可视化程序

      2. 手工编写字符串统计的可视化程序. 一个Frame窗体容器,布局为null,两个TextField组件,一个Button组件. Button组件上添加ActionEvent事件监听器Actio ...

最新文章

  1. 著名IT公司名字来由
  2. 修改github用户名
  3. Machine Learning week 1 quiz: Linear Algebra
  4. 一次服务器CPU占用率高的定位分析
  5. Linux基础 —— 操作系统简介
  6. python n个list如何组成矩阵_python和c++通信示例
  7. 现在动手,建立你的灾备系统
  8. php如何使用memcached,PHP如何使用Memcached_PHP
  9. 用java怎么开发图片标注工具,一些好用的图片标注工具
  10. oracle 索引原理
  11. python生成词云图、特殊图形_Python模块---Wordcloud生成词云图
  12. 这个“单”到底应该谁来买?
  13. 使用python基于git log统计开发代码量
  14. iPhone 自动关机 原因 天气太冷
  15. 不使用转换器,DWG转DXF能否快速完成呢?
  16. HTML基础 冲冲冲
  17. 华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
  18. Ros cartographer 搭载 landmark 保姆级操作上手教程
  19. AD9361、AD9613高速AD采集处理开发案例,基于C6678+Kintex-7
  20. Charles常用抓包用具安装及使用

热门文章

  1. mac完全卸载tuxera
  2. java-php-python-ssm猫咪伤患会诊复查医疗平台计算机毕业设计
  3. 函数图像变换的规律,以一元函数和二元函数为例来说明,对多元函数同样适用。...
  4. 文件系统/var空间100%的问题
  5. 项目使用Spring Cloud做配置管理
  6. 人工智能需要学习什么技术?
  7. VB.NET:控制阵列发生了什么
  8. macOS打开Excel镜像翻转问题
  9. STC89C52RC
  10. GitOps与ChatOps的落地实践