笔试强训Day11

news2024/7/6 19:27:21

T1:二叉树

链接:二叉树_牛客题霸_牛客网 (nowcoder.com)​​​​​​​s

题意:给你一颗二叉树,求俩个点的最近公共祖先(LCA)

因为比较特殊,树是一颗二叉树,二叉树的编号很特殊,学过线段树的都知道,假设当前点是x,那俩个儿子的编号就是2*x和2*x+1,父节点的编号是x/2; 

所以求LCA就只要让一个点往父节点跳(每次选编号最大的点跳)

时间复杂度:O(logN)

#include<iostream>
using namespace std;
int a,b;
int main()
{
	while(cin>>a>>b){
        while(a!=b){
            if(a>b)a/=2;
            else b/=2;
         }
	    cout<<a<<endl;
    }
	return 0;
}

 如果题目不是二叉树呢,并且编号不是这么有规律,如下图

这时阁下应当如何应对呢?

hhh,我选择掏出打ACM时候用的LCA板子

void dfs(int u, int fa)
{
	for (int i = h[u]; ~i; i = ne[i]) {
		int j = e[i];
		if (j == fa)continue;
		dis[j] = dis[u] + 1;
		f[j][0] = u;
		for (int k = 1; (1 << k) <= dis[j]; k++) {
			f[j][k] = f[f[j][k - 1]][k - 1];
		}
		dfs(j, u);
	}
}

int lca(int a, int b)
{
	if (dis[a] < dis[b])swap(a, b);
	int d = dis[a] - dis[b];
	for (int i = 0; d; i++) {
		if (d & 1)a = f[a][i];
		d /= 2;
	}
	if (a == b)return a;
	for (int i = 21; i >= 0; i--) {
		if (f[a][i] != f[b][i]) {
			a = f[a][i];
			b = f[b][i];
		}
	}
	return f[a][0];
}

T2:求最大连续bit数

链接:求最大连续bit数_牛客题霸_牛客网 (nowcoder.com)

描述

求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1

数据范围:1≤n≤500000 

进阶:时间复杂度:O(logn) ,空间复杂度:O(1) 

#include<iostream>
using namespace std;
int n;
int main()
{
	cin>>n;
	int ans=0;
	int cnt=0;
	while(n){
		int k=n%2;
		if(k==1)cnt++;
		else cnt=0;
		ans=max(cnt,ans);
		n/=2;
	}
	cout<<ans<<endl;
	return 0;
}
思想很简单, 取出二进制的每一位,判断是1还是0,是1的话个数+1,否则变为0。然后与ans答案取最大值

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

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

相关文章

Multisim 14.3如何修改默认安装路径及下载

Multisim 14.3默认安装到C盘&#xff0c;而且没有修改安装路径选项&#xff0c;给安装带来了很多不便&#xff0c;经过网络查询、实际操作&#xff0c;成功安装到了D盘&#xff0c;希望对想修改默认安装路径的朋友有所帮助。 一、安装前准备工作&#xff0c;以下实操真对初学者…

OpenNebula的配置与应用

学习了OpenNebula的安装之后&#xff0c;接下来就是配置OpenNebula&#xff0c;内容包括配置Sunstone&#xff0c;VDC和集群&#xff0c;设置影像&#xff0c;模板管理&#xff0c;虚拟机管理等。OpenNebula还有大量的工作要做&#xff0c;这些工作主要来自映像、模板和虚拟机管…

Spring Boot的创建和使用(JavaEE进阶系列2)

目录 前言&#xff1a; 1.什么是Spring Boot&#xff1f;为什么要学习Spring Boot&#xff1f; 2.Spring Boot优点 3.创建Spring Boot项目 3.1准备工作 3.2Spring Boot创建 3.2.1通过idea的方式创建 3.2.2通过网页创建 4.Spring Boot中的配置文件 4.1Spring Boot配置…

树莓集团涉足直播产业园区运营,成都直播产业园区再添黑马

树莓集团涉足成都直播产业园运营领域&#xff0c;这一消息引起了业界的广泛关注。在这个无限可能的直播领域中&#xff0c;树莓集团将与上市公司德商产投紧密合作&#xff0c;立志为成都直播行业的发展注入新的活力。成都天府蜂巢直播产业园推行着一系列创新的政策措施&#xf…

算法通过村第十一关-位运算|黄金笔记|位运算压缩

文章目录 前言用4kb内存寻找重复元素总结 前言 提示&#xff1a;如果谁对你说了地狱般的话&#xff0c;就代表了他的心在地狱。你不需要相信那样的话&#xff0c;就算对方是你的父母也一样。 --高延秀《远看是蔚蓝的春天》 位运算有个很重要的作用就是能用比较小的空间存储比较…

Tensorflow、Pytorch和Ray(张量,计算图)

1.深度学习框架&#xff08;Tensorflow、Pytorch&#xff09; 1.1由来 可以追溯到2016年&#xff0c;当年最著名的事件是alphago战胜人类围棋巅峰柯洁&#xff0c;在那之后&#xff0c;学界普遍认为人工智能已经可以在一些领域超过人类&#xff0c;未来也必将可以在更多领域超过…

网盘搜索引擎:点亮知识星空,畅享数字宝藏!

大家好&#xff01;作为一名资深的网络产品运营人员&#xff0c;我今天要向大家介绍一款让你受益匪浅的神奇工具——网盘搜索引擎&#xff01;它可以帮助你免费搜索查询各种云盘共享资源&#xff0c;包括影视作品、纪录片、小说、动漫等等。现在&#xff0c;我们急需网络流量&a…

手边酒店V2独立版小程序 1.0.21 免授权+小程序前端安装教程

手边酒店小程序独立版酒店宾馆订房系统支持创建多个小程序&#xff0c;让每一个客户单独管理属于自己的小程序。系统无需授权&#xff0c;小程序端用户授权也是采用最新接口。 缺点不开源不影响使用&#xff0c;播播资源安装测试下来未发现或出现BUG情况&#xff0c;用户授权接…

深度学习 图像分割 PSPNet 论文复现(训练 测试 可视化)

Table of Contents 一、PSPNet 介绍1、原理阐述2、论文解释3、网络模型 二、部署实现1、PASCAL VOC 20122、模型训练3、度量指标4、结果分析5、图像测试 一、PSPNet 介绍 PSPNet(Pyramid Scene Parsing Network)来自于CVPR2017的一篇文章&#xff0c;中文翻译为金字塔场景解析…

Redis主从复制、哨兵、cluster集群

目录 Redis 主从复制 主从复制的作用 主从复制流程 搭建Redis 主从复制 实验环境 所有主机安装redis 修改 Redis 配置文件&#xff08;Master节点操作&#xff09; 修改 Redis 配置文件&#xff08;Slave节点操作&#xff09; 验证主从效果 Redis 哨兵模式 哨兵模式的…

【DRAM存储器十】SDRAM介绍-刷新

&#x1f449;个人主页&#xff1a;highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 参考资料&#xff1a;《镁光SDRAM数据手册》、《PC SDRAM specification》 从前面的…

2023年中国医疗传感器行业现状分析:市场国有化率低[图]

传感器是对物理刺激&#xff08;如热、光、声、压力、磁或特定的运动&#xff09;作出反应并传送产生的脉冲&#xff08;如用于测量或操作控制&#xff09;的装置。传感器一般由敏感元件、转换元件和转换电路组成。 医疗传感器分类 资料来源&#xff1a;共研产业咨询&#xff…

基于SSM的奶茶店管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

世界前沿技术发展报告2023《世界航天技术发展报告》(二)卫星技术

&#xff08;二&#xff09;卫星技术 1.概述2. 通信卫星2.1 美国太空发展局推进“国防太空体系架构”&#xff0c;持续部署“传输层”卫星2.2 美国军方在近地轨道成功演示验证星间激光通信2.3 DARPA启动“天基自适应通信节点”项目&#xff0c;为增强太空通信在轨互操作能力提供…

AVL树的实现及原理

目录 AVL树的由来 AVL的实现原理 左单旋 右单旋 先左后右 先右后左 总结 AVL树的由来 查找&#xff0c;无论在什么情况下都与我们息息相关。在我们学习数组阶段学习到了线性查找&#xff0c;可是它的效率很低下&#xff0c;又演变出来了二分查找&#xff0c;它的效率非常…

MySQL进阶_2.索引的设计原则

文章目录 第一章、索引简介1.1 索引定义1.2 使用索引的目的1.3 B树结构 第二章 常见索引概念2.1 聚簇索引2.2 二级索引&#xff08;辅助索引、非聚簇索引&#xff09;2.3 比较2.4 联合索引2.5 总结2.6 索引的代价 第三章 索引的分类和创建3.1 索引分类3.2 创建和删除索引 第四章…

集群-Nacos-2.2.3、Nginx-1.24.0集群配置

Nacos集群 高可用 Nginx 集群Nacos 集群&#xff08;至少三个实例&#xff09;高可用数据库集群&#xff08;取代 Nacos 内嵌数据库&#xff09; Nacos 集群搭建 集群使用版本&#xff1a; Nginx 1.24.0 Nacos 2.2.3 服务器IP服务器版本Nginx18.18.18.40CentOS-7.9MySQL18.18.…

2024免费的硬盘数据恢复软件有哪些?

在当今信息化的社会&#xff0c;数据成为了人们日常工作和生活的重要组成部分。不幸的是&#xff0c;数据丢失的问题也越来越普遍。硬盘数据恢复软件因此而产生&#xff0c;为那些不幸丢失数据的人们提供了救赎。在本文中&#xff0c;我们将介绍十大硬盘数据恢复软件。 一、Rec…

Mind Map:大语言模型中的知识图谱提示激发思维图10.1+10.2

知识图谱提示激发思维图 摘要介绍相关工作方法第一步&#xff1a;证据图挖掘第二步&#xff1a;证据图聚合第三步&#xff1a;LLM Mind Map推理 实验实验设置医学问答长对话问题使用KG的部分知识生成深入分析 总结 摘要 LLM通常在吸收新知识的能力、generation of hallucinati…

【STM32基础 CubeMX】ADC的基础使用

文章目录 前言一、ADC是什么二、使用CubeMX配置ADC三、代码分析3.1 cubemx生成代码分析3.2 ADC HAL库函数HAL_ADC_Start_IT开启adc中断函数获取ADC值 四、示例代码&#xff1a;获取光敏电阻的值总结 前言 在嵌入式系统开发中&#xff0c;STM32系列微控制器是广泛应用的一种硬件…