ACW 835. Trie字符串统计
题目
思路
- 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字符串统计相关推荐
- 835. Trie字符串统计
Trie字符串统计 #include <iostream> #include <cstring> using namespace std; int f[100101][29]; ...
- ~~Trie树(数据结构)(附题目:AcWing 835. Trie字符串统计)
模板 int son[N][26], cnt[N], idx; // 0号点既是根节点,又是空节点 // son[][]存储树中每个节点的子节点 // cnt[]存储以每个节点结尾的单词数量// 插入 ...
- Trie 字符串统计+最大异或对
字符串统计 树状存储 从根节点向下一串是一个单词,红星是标记,是单词尾的标记 将二十六个字母映射为0~25的数字 #include<iostream> #include<algori ...
- Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)
1. 概述说明 import "strings" strings 包实现了用于操作字符的简单函数. strings 包与 bytes 包中的函数用法基本一样. 2. 主要函数 2. ...
- C++描述杭电OJ 2017.字符串统计||
C++描述杭电OJ 2017.字符串统计|| Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的 ...
- elasticsearch 条件去重_elasticsearch 笔记四 之聚合查询之去重计数、基础统计、百分位、字符串统计...
这一节笔记还是聚合查询,以下是本节目录:去重统计 cardinality 基础统计 stats 百分位 percentiles 字符串统计 string_stats 1.去重统计 cardinalit ...
- 输入字符串统计字符串中每个字符出现的次数
这是一个作业题. 我还遇到两次了- 利用map集合嘿哈哈搞定- import java.util.HashMap; import java.util.Scanner;public class Cacl ...
- 在线字符串长度计算,字符串统计工具
在线字符串长度计算,字符串统计工具 在线字符串长度计算,字符串统计工具 本工具支持统计给定的字符串的总数,中文总数,英文总数,符号总数和数字总数等数据. 客户端实时计算,数据实时更新. https:/ ...
- 【Java例题】8.2 手工编写字符串统计的可视化程序
2. 手工编写字符串统计的可视化程序. 一个Frame窗体容器,布局为null,两个TextField组件,一个Button组件. Button组件上添加ActionEvent事件监听器Actio ...
最新文章
- 著名IT公司名字来由
- 修改github用户名
- Machine Learning week 1 quiz: Linear Algebra
- 一次服务器CPU占用率高的定位分析
- Linux基础 —— 操作系统简介
- python n个list如何组成矩阵_python和c++通信示例
- 现在动手,建立你的灾备系统
- php如何使用memcached,PHP如何使用Memcached_PHP
- 用java怎么开发图片标注工具,一些好用的图片标注工具
- oracle 索引原理
- python生成词云图、特殊图形_Python模块---Wordcloud生成词云图
- 这个“单”到底应该谁来买?
- 使用python基于git log统计开发代码量
- iPhone 自动关机 原因 天气太冷
- 不使用转换器,DWG转DXF能否快速完成呢?
- HTML基础 冲冲冲
- 华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
- Ros cartographer 搭载 landmark 保姆级操作上手教程
- AD9361、AD9613高速AD采集处理开发案例,基于C6678+Kintex-7
- Charles常用抓包用具安装及使用