字符串(算法竞赛)--字典树Trie与最大异或对

1、B站视频链接:F06 字典树(Trie)_哔哩哔哩_bilibili

题目链接:【模板】字典树 - 洛谷

#include <bits/stdc++.h> 
using namespace std;
const int N=100010;
int n;
char s[N];
int ch[N][26];//ch[0][2]=1表示0号节点通过c边走到了节点1 
int cnt[N],idx;//分别表示记录次数和节点编号 
void insert(char *s){int p=0;//从根节点0开始for(int i=0;s[i];i++){//将字符串的每个字母循环扫描 int j=s[i]-'a';//字母映射成对应的数字if(!ch[p][j])ch[p][j]=++idx;//如果未出现过,则创建新的节点p=ch[p][j];//新节点作为新的父节点 }cnt[p]++;//循环结束,单词次数加一 
}
int query(char *s){int p=0;for(int i=0;s[i];i++){int j=s[i]-'a';if(!ch[p][j])return 0;//不存在则直接返回p=ch[p][j];//一直向下找 }return cnt[p];
}
int main(){scanf("%d",&n);while(n--){char op;scanf("%s %s",&op,&s);if(op=='I')insert(s);else printf("%d\n",query(s));}return 0;
}

题目链接:1、[JSOI2009] 电子字典 - 洛谷

2、[JSOI2015] 字符串树 - 洛谷

3、[AGC057C] Increment or Xor - 洛谷

4、[省选联考 2020 A 卷] 树 - 洛谷

2、B站视频链接:F07 最大异或对(01Trie)_哔哩哔哩_bilibili

#include <bits/stdc++.h> 
using namespace std;
const int N=100010;
int n,a[N];
int ch[N*31][2],idx;//最多走31层,二叉树
void insert(int x){int p=0;for(int i=30;i>=0;i--){int j=x>>i&1;//取出第i位if(!ch[p][j])ch[p][j]=++idx;p=ch[p][j]; }
}
int query(int x){int p=0,res=0;for(int i=30;i>=0;i--){int j=x>>i&1;if(ch[p][!j]){//异或运算尽量走不通的路值更大 res+=1<<i;//累加位权p=ch[p][!j]; }else p=ch[p][j];}return res;
}
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i],insert(a[i]);}int ans=0;for(int i=1;i<=n;i++){ans=max(ans,query(a[i]));}cout<<ans;return 0;
} 

题目链接:最长异或路径 - 洛谷

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/701952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【电子通识】认识FMEA(失效模式和影响分析)

FMEA是Failure Mode and Effect Analysis的英文缩写&#xff0c;中文名称为失效模式和影响分析。主要应用于航空航天、食品、汽车和核电等行业。 FMEA讨论的是事先策划以及执行措施&#xff0c;预防问题的发生或控制问题的发展&#xff0c;降低设计和过程的风险。由于问题还没…

基于java Springboot实现教务管理系统

基于java Springboot实现教务管理系统《视频版-建议收藏》 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文…

亲孙子和外孙女真的不一样吗

对老人来说&#xff0c;带孩子的性价比&#xff0c;孙子≥孙女≥外孙女&#xff1e;外孙。 没错&#xff0c;外孙是最差的选择。以上几个&#xff0c;出“白眼狼”概率最大的&#xff0c;是外孙。 因为男性天然家族意识强而血缘意识弱&#xff0c;女性则血缘意识强家族意识弱…

回归预测 | Matlab实现CPO-HKELM冠豪猪算法优化混合核极限学习机多变量回归预测

回归预测 | Matlab实现CPO-HKELM冠豪猪算法优化混合核极限学习机多变量回归预测 目录 回归预测 | Matlab实现CPO-HKELM冠豪猪算法优化混合核极限学习机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CPO-HKELM冠豪猪算法优化混合核极限学习机…

C语言------操作符的巧妙使用

1.计算一个数字二进制补码里面1的个数 &#xff08;1&#xff09;方法一 根据这个10进制的整数&#xff0c;对这个数进行%10&#xff0c;/10不断地进行下去&#xff0c; %10得到最后一位&#xff0c;/10得到舍去最后一位之后剩余的数&#xff1b; 同理得到&#xff1a;二进…

Kubernetes(K8s)的一些重要概念以及术语简短解释

前言 温故而知新&#xff0c;不学就容易忘&#xff0c;本文将迅速介绍k8s的一些关键概念&#xff0c;供随时回顾 正文 Pod&#xff1a;Pod是Kubernetes中最小的部署单位&#xff0c;通常一个Pod内运行一个容器应用。Pod封装了容器&#xff08;可能是多个&#xff09;&#xf…

09 呼吸灯

呼吸灯简介 呼吸灯实际展示的效果就是一个 LED 灯的亮度由亮到暗&#xff0c;再由暗到亮的变化过程&#xff0c;并且该过程是循环往复的&#xff0c;像呼吸一样那么有节奏。 呼吸灯通常是采用 PWM(Pulse Width Modulation&#xff0c;即脉冲宽度调制) 的方式实现&#xff0c;在…

计算机视觉初探--LeNet原理与实践

LeNet&#xff1a;深度学习图像识别的里程碑 LeNet是卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;领域的先驱模型&#xff0c;由Yann LeCun等人在1998年提出&#xff0c;被广泛应用于手写数字识别和其他计算机视觉任务。本文将介绍LeNet模型的数学…

随想录刷题笔记 —二叉树篇11 538二叉搜索树转换为累加树 77组合

538二叉搜索树转换为累加树 递归&#xff1a;使用pronode标记仅小于该节点的节点&#xff0c;使用右中左的顺序 根据pronode值修改节点值 class Solution {TreeNode pronode null;public TreeNode convertBST(TreeNode root) {if (rootnull){return root;}if (root.right!nu…

深入了解计算机系统——1.计算机系统初步

文章目录 计算机系统信息是什么我们来看看hello在哪 程序被其他程序翻译成不同的格式处理器读取并解释内存中的指令硬件组成 计算机系统 信息是什么 信息是位上下文 下面写一段程序 ...(省略&#xff09; printf("hello world"); ... hello.c上面是一段hello程序…

Vue-Json-Schema-Form: 如何基于模板定制前端页面

本人从事的是工业物联网, 面对工业设备的通讯难题是各大设备都有各自的通讯协议, 如果想要用一款硬件去和所有设备做通讯的话, 就得面对怎么把自己想要采集的配置下发给自己的采集器的问题, 以前都是采用各种模型去尝试构建配置项, 但是因为配置可能会有深层次嵌套, 而且…

13-ATF中的Switch cpu context

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】我的联系方式-自建交流群-学习群 【必看/必看!!】ATF架构开发精讲-专题目录👈👈👈【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈目录 <

如何使用移动端设备在公网环境远程访问本地黑群晖

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是前排提醒&#xff1a; 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机&#xff1a;1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

嵌入式26——进程

进程基本概念:1.进程: 程序&#xff1a;存放在外存中的一段数据组成的文件 进程&#xff1a;是一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡 2.进程相关命令: 1.top 动态查看当前系统中的所有进程信息&#xff08;根据CPU占用率排序&am…

算法:判断回文数

判断数字是否为回文数&#xff0c;反转后与原数字相同&#xff0c;即为为回文数 方法一&#xff1a;将数字转为字符串&#xff0c;然后利用字符串的反转来判断是否为回文数 首先将数字转换为字符串&#xff0c;然后将字符串转换为数组并反转&#xff0c;最后将反转后的数组转…

C#与VisionPro联合开发——串口通信

串口通信 串口通信是一种常见的数据传输方式&#xff0c;通过串行接口&#xff08;串口&#xff09;将数据以串行比特流的形式进行传输。在计算机和外部设备之间&#xff0c;串口通信通常是通过串行通信标准&#xff08;如RS-232&#xff09;来实现的。串口通信可以用于连接各…

解析OOM的三大场景,原因及实战解决方案

目录 一、什么是OOM 二、堆内存溢出&#xff08;Heap OOM&#xff09; 三、方法区内存溢出&#xff08;Metaspace OOM&#xff09; 四、栈内存溢出&#xff08;Stack OOM&#xff09; 一、什么是OOM OOM 是 Out Of Memory 的缩写&#xff0c;意思是内存耗尽。在计算机领域…

每日OJ题_牛客JZ39 数组中出现次数超过一半的数字

目录 牛客JZ39 数组中出现次数超过一半的数字 解析代码 牛客JZ39 数组中出现次数超过一半的数字 数组中出现次数超过一半的数字_牛客题霸_牛客网 解析代码 摩尔投票法&#xff1a;摩尔投票法&#xff0c;时间O(N)&#xff0c;空间O(1)。 可以理解成混战极限一换一&#xff…

算法沉淀——动态规划之简单多状态 dp 问题(上)(leetcode真题剖析)

算法沉淀——动态规划之简单多状态 dp 问题上 01.按摩师02.打家劫舍 II03.删除并获得点数04.粉刷房子 01.按摩师 题目链接&#xff1a;https://leetcode.cn/problems/the-masseuse-lcci/ 一个有名的按摩师会收到源源不断的预约请求&#xff0c;每个预约都可以选择接或不接。在…

神经网络系列---常用梯度下降算法

文章目录 常用梯度下降算法随机梯度下降&#xff08;Stochastic Gradient Descent&#xff0c;SGD&#xff09;&#xff1a;随机梯度下降数学公式&#xff1a;代码演示 批量梯度下降&#xff08;Batch Gradient Descent&#xff09;批量梯度下降数学公式&#xff1a;代码演示 小…