【洛谷】AT_abc188_c [ABC188C] ABC Tournament 的题解

【洛谷】AT_abc188_c [ABC188C] ABC Tournament 的题解

洛谷传送门

AT传送门

Vjudge传送门

题解

谔谔,最近月考,没时间写题解。现在终于有时间了qaq

通过对样例的数据分析我们可以看到。本题的考点就是一个二叉搜索树,因此最简单的方法就是使用递归来实现。

我们将当前节点编号为 i i i,其父节点编号为 i 2 \frac{i}{2} 2i,其右兄弟节点编号为 i + 1 i + 1 i+1

这样,我们通过控制数组下标,即可实现。时间复杂度 O ( log ⁡ 2 N ) O(\log 2 ^ N) O(log2N)

代码

#include <bits/stdc++.h>
#define lowbit(x) x & (-x)
#define endl "\n"
using namespace std;
typedef long long ll;
typedef unsigned long long ulson;
namespace fastIO {inline int read() {register int x = 0, f = 1;register char c = getchar();while (c < '0' || c > '9') {if(c == '-') f = -1;c = getchar();}while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;}inline void write(int x) {if(x < 0) putchar('-'), x = -x;if(x > 9) write(x / 10);putchar(x % 10 + '0');return;}
}
using namespace fastIO;
int a[100005], n;
int dfs(int l, int r) {if (l + 1 == r) {return a[l] > a[r] ? l : r;}int mid = (l + r) >> 1;int lson = dfs(l, mid), rson = dfs(mid + 1, r);if(l == 1 && r == n) {cout << (a[lson] > a[rson] ? rson : lson) << endl;return 0;} else {return a[lson] > a[rson] ? lson : rson;}
}
int main() {//freopen(".in","r",stdin);//freopen(".out","w",stdout);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);n = read();n = 1 << n;for(int i = 1; i <= n; i ++) {a[i] = read();}if(n == 2) {cout << (a[1] > a[2] ? "2" : "1") << endl;}else {dfs(1, n);}return 0;
}

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

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

相关文章

Day31 || 122.买卖股票的最佳时机 II、55. 跳跃游戏、 45.跳跃游戏II 、1005.K次取反后最大化的数组和

122.买卖股票的最佳时机 II 题目链接&#xff1a;力扣题目链接 思路&#xff1a;因为是求虽大利润完全可以假设知道第二天涨前一天买入即可&#xff0c;就是求两天只差大于0 的和。 55. 跳跃游戏 题目链接&#xff1a;力扣题目链接 思路&#xff1a;应该从后往前循环判断&…

搜维尔科技:使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据

使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据 搜维尔科技&#xff1a;使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据

【初识数据库】

目录 一、数据库简介 1.什么是数据库 2.数据库与数据结构有啥关系 3.为什么要使用数据库 二、数据库服务器、数据库和表的关系 三、客户端与服务器的通讯方式 1.C/S架构 2.B/S架构 3.命令提示符 4.MySQL架构 一、数据库简介 1.什么是数据库 组织和保存数据的应用程序…

数据结构与算法JavaScript描述练习------第12章排序算法

1. 使用本章讨论的所有算法对字符串数据而非数字数据进行排序&#xff0c;并比较不同算法的执行 时间。这两者的结果是否一致呢&#xff1f; function CArray(numElements) { this.dataStore []; this.pos 0; this.numElements numElements; this.insert insert; this.toS…

HTTP安全么?如何更好的保护您的网站

在互联网飞速发展的今天&#xff0c;网络安全问题日益严峻。HTTP作为最常见的网络通信协议&#xff0c;虽然在传输效率方面表现优异&#xff0c;但其安全性却常常令人担忧。许多企业和个人网站在使用HTTP进行数据传输时&#xff0c;可能忽视了其中潜在的风险。那么&#xff0c;…

搜维尔科技:SenseGlove Nova 2触觉反馈手套开箱测评

SenseGlove Nova 2触觉反馈手套开箱测评 搜维尔科技&#xff1a;SenseGlove Nova 2触觉反馈手套开箱测评

react函数组件和类组件

react函数组件和类组件 函数组件会捕获render内部的差异&#xff0c;性能主要取决于代码正在进行的操作&#xff0c;函数组件和类组件区别可以忽略不计&#xff0c;但是优化策略是有不同的。 类组件 class Welcome extends React.Component {render() {return <h1>{th…

大模型入门到精通!大模型应用开发极简入门(含PDF)

大模型的出现正悄然改变人们的生活与工作方式&#xff0c;比如ChatGPT-4、文心一言、通义千问等语言大模型。它们已帮助很多办公室“白领”们在解决日常工作问题&#xff0c;如制定计划、撰写实施方案&#xff0c;甚至制作美化PPT等&#xff08;笔者及身边的同事在工作中还经常…

OpenCV人脸检测与识别:构建智能识别系统

在当今科技日新月异的时代&#xff0c;人脸识别技术以其独特的便利性和安全性&#xff0c;在各个领域都展现出了巨大的应用潜力。从智能手机的面部解锁&#xff0c;到机场的自动安检&#xff0c;再到商场的顾客行为分析&#xff0c;人脸识别技术无处不在。本文将深入探讨如何使…

简单认识redis - 9 布隆过滤器

布隆过滤器&#xff08;Bloom Filter&#xff09;是一种空间效率很高的随机数据结构&#xff0c;用于判断一个元素是否可能在一个集合中。 一、工作原理 1. 初始化&#xff1a; 布隆过滤器由一个位数组&#xff08;通常是一个很长的二进制数组&#xff09;和若干个哈希函数组…

【scene_manager_msgs】ROS2 自定义消息、服务的包

scene_manager_msgs 在ROS 1向ROS 2迁移的过程中&#xff0c;有些依赖项发生了变化&#xff0c;这是因为ROS 2的通信框架和工具链与ROS 1不同&#xff0c;尤其在消息、服务和动作生成方面有了一些新的方法和库。 动作库 如果你的ROS 1包依赖于actionlib或actionlib_msgs&…

拍立淘API返回值中的商品列表与详细信息解析

拍立淘&#xff08;Pailitao&#xff09;是阿里巴巴旗下的一种图像识别购物技术&#xff0c;允许用户通过拍摄商品照片来搜索相似的商品。尽管官方没有直接开放拍立淘的API给公众使用&#xff0c;但可以通过淘宝开放平台&#xff08;Taobao Open Platform&#xff09;的一些图像…

Python logging模块实现日志饶接 按照时间命名

import os import zipfile from datetime import datetime from logging.handlers import RotatingFileHandlerclass CompressedRotatingFileHandler(RotatingFileHandler):"""自定义的 RotatingFileHandler&#xff0c;支持在日志轮转时压缩旧日志文件&#xf…

【算法】深入理解布隆过滤器

1. 什么是布隆过滤器&#xff1f; 布隆过滤器&#xff08;Bloom Filter&#xff09;是一种空间效率极高的概率型数据结构&#xff0c;用于检测某个元素是否在一个集合中。与常见的数据结构如哈希表不同&#xff0c;布隆过滤器无法删除元素&#xff0c;并且会存在一定的误判率&…

用示波器观测RC一阶电路零输入响应是否激励必须是方波信号

概述 RC一阶电路是一种简单但非常重要的电路&#xff0c;广泛应用于滤波、信号处理和时间常数分析等领域。在研究RC电路的动态特性时&#xff0c;零输入响应&#xff08;Natural Response&#xff09;是一项关键内容。本文将详细解析用示波器观测RC一阶电路零输入响应时&#…

开发语言最佳实践

目录 一、开发IOS最好的语言是什么&#xff1f; 二、开发安卓的最好语言是什么&#xff1f; 三、开发鸿蒙应用最好的语言是什么&#xff1f; 四、做大模型训练最好的开发语言是什么&#xff1f; 一、开发IOS最好的语言是什么&#xff1f; 开发iOS最好的语言是Swift。Swift…

C#学习笔记(六)

C#学习笔记&#xff08;六&#xff09; 第 三 章 基本语句以及语法二、程序逻辑 if 选择和分支结构 switch1. if2. switch 三、循环语句1. for 循环的使用2. while 循环的使用3. 对比 break 和 continue 第 四 章 字符串 string 详解和高效 StringBuilder 类暂不练习与学习。 第…

CAD快捷键大全非常详细

绘图菜单 快捷键 注意事项 1.线 L 2.构造线 XL 3.多段线 PL 一般用来画三维图 4.正多边形 POL 5.矩形 REC 6.圆弧 A 7.圆 C 8.修订云线 REVCLOUD 9.样条曲线 SPL 10.椭圆 EL 轴测图&#xff1a;ELI 11.椭圆弧…

如何实现安川MP3300运动控制器与西门子1200系列PLC进行ModbusTCP通讯

在工业自动化中&#xff0c;实现不同品牌、不同型号设备之间的通讯是确保生产流程顺畅、高效运行的关键。本文详细介绍了安川MP3300运动控制器与西门子1200系列PLC进行ModbusTCP通讯的具体方法。 一&#xff0e;软硬件需求 1.一台安川MP3300CPU301&#xff0c;其IP地址是192.…

SpringCloudAlibaba升级手册

目录 1. 版本对照 版本现状 SpringCloud与AlibabaCloud对应版本 Springboot与Elasticsearch版本对应 2. openfeign问题 问题 解决方案 3. Feign请求问题 问题 解决方法 4. Sentinel循环依赖 问题 解决方案 5. bootstrap配置文件不生效 问题 解决方案 6. Nacos的…