Trie 字符串统计+最大异或对
字符串统计
树状存储
从根节点向下一串是一个单词,红星是标记,是单词尾的标记
将二十六个字母映射为0~25的数字
#include<iostream>
#include<algorithm>
#include<cstring>
#include<stack>
#include<unordered_map>using namespace std;const int N = 100010;int son[N][26], idx, cnt[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 qurey(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;cin >> n;char op[2], str[N];while (n--){cin >> op >> str;if (op[0] == 'I')insert(str);else if (op[0] == 'Q')cout << qurey(str)<<endl;}return 0;
}
最大异或对
异或举例(异或也可称为不进位加法)
二进制比较,一样则为0,不一样就是1,没有的位数视为0来比较
左移运算
右移运算
#include<iostream>
#include<algorithm>
#include<cstring>
#include<stack>
#include<unordered_map>using namespace std;const int N = 100010, M = 3000000;
int son[M][2], idx, a[N];
int n;void insert(int x)
{int p = 0;for (int i = 30; i >= 0; i--){int& s = son[p][x >> i & 1];if (!s) s = ++idx; //创建新节点p = s;}
}int qurey(int x)
{int res = 0, p = 0;for (int i = 30; i >= 0; i--){int s = x >> i & 1;if (son[p][!s]){res += 1 << i;p = son[p][!s];}else p = son[p][s];}return res;
}int main()
{int n, x;cin >> n;for (int i = 0; i < n; i++){cin >> a[i];insert(a[i]);}int res = 0;for (int i = 0; i < n; i++){res = max(res, qurey(a[i]));}cout << res;return 0;
}
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[]存储以每个节点结尾的单词数量// 插入 ...
- ACW 835. Trie字符串统计
题目 思路 Tire 树适合存储和查询字符串 给每一个末尾节点打上标记,记录此节点出现了几次 如果查询的字符串最后一个节点没有打标记,也就是不在Tire树的末尾,即使前面都匹配了,我们也认为不存在这个 ...
- 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 ...
最新文章
- red hat DHCP服务器配置
- 最感动的一首现代诗(转)(修正了一点翻译)
- 详测 Generics Collections TQueue (3): OnNotify、Extract
- Java多线程知识小抄集(四)——完结
- 28. 智慧医疗--AI将成为医生的好帮手
- 如何通过C#开发一个媒体播放器(中)
- Java NIO SocketChannel+Buffer+Selector 详解(含多人聊天室实例)
- linux内核分析与应用 -- 内存管理(上)
- 图形2.5 Bump Map的改进(凹凸映射)
- Android打地鼠游戏案例
- 杨诚 湖南科技职业技术学院计算机,2013年全国职业院校技能大赛高职组获奖名单...
- 从实际项目出发,告诉你vue3到底香不香
- 详解Linux内核红黑树算法的实现 http://blog.csdn.net/npy_lp/article/details/7420689
- 如何演示扇形面积公式推导过程
- C/C++笔试题(很多)
- Guitar Pro2023吉他谱作曲和练习工具
- 位运算——左移右移运算详解
- php7安装详解(windows环境)
- 深度剖析互联网金融的系统逻辑
- 开放大学建筑构造计算机考试试题,精编最新国家开放大学电大《建筑构造》形考任务2试题及答案...