GPLT(有空就写)

L2 - 047 锦标赛

思路:

        将其放入一颗满二叉树上去考虑:从二叉树的最底层开始,每一轮比赛,为同一个祖先的左右两个儿子进行比较,而你需要将败者的能力值填到左右两个儿子其中一个上面,另一个就向上传递表示胜利。(参考单败淘汰制)

        可以发现:如果需要对某一个结点进行赋值,充分必要条件是该值大于等于其子树上所有值的最大值,否则的话这个人就会在之前的比赛中就输掉。当一轮比赛中,败者能力值无法赋值到两个人则代表“No solution”。

        也就是说:我们需要维护的是每个结点上其子树的最大值。由于是一颗二叉树,所以最大值只需要取两个子树的max即可。同时由于需要输出每个人的能力,所以二叉树中不仅要存最大值信息,还要存胜者编号信息,这样便能直接对败者进行赋值了。

        

#include<bits/stdc++.h>
using namespace std;
const int N = 20;
int ans[1 << N];
int main(){int n , x;cin >> n;vector<array<int , 2>>pre;for(int i = 1 ; i <= (1 << n) ; i ++){pre.push_back({i , 0});}for(int i = 1 ; i <= n ; i ++){vector<array<int,2>>st;
/*        for(auto it : pre){cout << it[0] << " " << it[1] << endl;}*/for(int j = 0 ; j < (1 << (n - i)); j ++){cin >> x;auto tmp1 = pre[j * 2] , tmp2 = pre[j * 2 + 1];int id1 = tmp1[0] , id2 = tmp2[0] , cnt1 = tmp1[1] , cnt2 = tmp2[1];//         cout << id1 << id2 << endl;if(x >= cnt1){//放入左儿子ans[id1] = x;st.push_back({id2 , max(x , cnt2)});}else if(x >= cnt2){//放入右儿子ans[id2] = x;st.push_back({id1 , max(x , cnt1)});}else{cout << "No Solution";return 0;}}pre = st;}cin >> x;if(x >= pre[0][1]){ans[pre[0][0]] = x;}else{cout << "No Solution";return 0;    	}for(int i = 1 ; i <= (1 << n) ; i ++){cout << ans[i] <<" ";}
}

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

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

相关文章

2023 IoTDB 用户大会倒计时 3 天 | 1 分钟让你了解 IoTDB!

叮叮&#xff01;距离 2023 IoTDB 用户大会在北京与大家见面还有 3 天&#xff01; 这场筹备已久的盛会&#xff0c;汇集了超 20 位大咖嘉宾带来的精彩议题&#xff0c;届时来自美国国家工程院、清华大学软件学院的产业大拿&#xff0c;与能源电力、钢铁冶炼、城轨运输、智能制…

【shell】正则表达式和AWK

一.正则表达式 通配符匹配文件&#xff08;而且是已存在的文件&#xff09; 基本正则表达式扩展正则表达式 可以使用 man 手册帮助 正则表达式&#xff1a;匹配的是文章中的字符 通配符&#xff1a;匹配的是文件名 任意单个字符 1.元字符&#xff08;字符匹配&…

NOIP2007提高组第二轮T3:矩阵取数游戏

题目链接 [NOIP2007 提高组] 矩阵取数游戏 题目描述 帅帅经常跟同学玩一个矩阵取数游戏&#xff1a;对于一个给定的 n m n \times m nm 的矩阵&#xff0c;矩阵中的每个元素 a i , j a_{i,j} ai,j​ 均为非负整数。游戏规则如下&#xff1a; 每次取数时须从每行各取走一…

恒驰服务 | 华为云云上运维服务offering

恒驰运维服务主要针对运维要求高或自身运维能力有限的客户&#xff0c;通过服务增购的形式&#xff0c;提供运维服务以协助客户做好云上资源运维管理&#xff0c;规避业务风险&#xff0c;降低运维开销&#xff0c;提升客户业务稳定性。 适用场景&#xff1a; 如何保障业务稳定…

内衣洗衣机哪个牌子好用?性价比高的迷你洗衣机推荐

洗衣机是现代家庭中必备的一种家用电器&#xff0c;它的使用简便、省时、省力&#xff0c;是我们生活中不可缺少的一部分&#xff0c;差不多家家户户都有一台&#xff0c;甚至两台以上。由于内衣内裤并不能够直接扔进洗衣机里进行清洗&#xff0c;因此一种内衣专业的洗衣机就出…

单机zk安装与zk四字命令

一、下载 Apache ZooKeeper可以在 Linux 系统中使用 wget 命令直接下载&#xff0c;官网地址 Apache ZooKeeper 二、解压 tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz 进去解压的目录中&#xff0c; 进入到 zk 解压目录的 conf 目录&#xff0c;复制 zoo_sample.cfg 文件&a…

简单实用:isPalindrome方法在密码验证中的应用

在信息安全领域中&#xff0c;密码验证是非常重要的一部分。一个好的密码应该有足够的复杂度&#xff0c;以防止被破解。而回文密码由于正读和反读都一样这样特殊的性质&#xff0c;具有很高的安全性&#xff0c;可以发挥很大的作用。在实际的密码策略中&#xff0c;我们可能会…

2023认证杯B题:金属表面缺陷检测|数学中国数学建模国际赛(小美赛) |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 让我们来看看认证杯的B题&#xff01; 完整内容可以在文章末…

你对SPA单页面的理解,它的优缺点分别是什么?

面试官&#xff1a;你对SPA单页面的理解&#xff0c;它的优缺点分别是什么&#xff1f;如何实现SPA应用呢 一、什么是SPA SPA&#xff08;single-page application&#xff09;&#xff0c;翻译过来就是单页应用SPA是一种网络应用程序或网站的模型&#xff0c;它通过动态重写当…

Whisper

文章目录 使后感Paper Review个人觉得有趣的Log Mel spectrogram & STFT Trainingcross-attention输入cross-attention输出positional encoding数据 Decoding为什么可以有时间戳的信息 Test code 使后感 因为运用里需要考虑到时效和准确性&#xff0c;类似于YOLO&#xff…

vue3使用动态component

使用场景&#xff1a; 多个组件通过component标签挂载在同一个组件中&#xff0c;通过触发时间进行动态切换。vue3与vue2用法不一样&#xff0c;这里有坑&#xff01; 使用方法&#xff1a; 1.通过vue的defineAsyncComponent实现挂载组件 2.component中的is属性 父组件&am…

GaussDB如何进行性能调优

GaussDB如何进行性能调优 GaussDB性能调优过程需要综合考虑多方面因素&#xff0c;因此&#xff0c;调优人员应对系统软件架构、软硬件配置、数据库配置参数、并发控制、查询处理和数据库应用有广泛而深刻的理解。 调优流程 调优各阶段说明&#xff0c;如下表所示。 数据库性…

深入探究Photoshop图像修复与润饰技巧

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在Photoshop中&#xff0c;图像修复和润饰是强…

Vim Coc插件实现代码跳转

Vim Coc插件实现代码跳转 按照coc主页的配置 里面是有提供代码跳转的功能的 具体配置如下 " GoTo code navigation nmap <silent> gd <Plug>(coc-definition) nmap <silent> gy <Plug>(coc-type-definition) nmap <silent> gi <Plug…

CNN对 MNIST 数据库中的图像进行分类

加载 MNIST 数据库 MNIST 是机器学习领域最著名的数据集之一。 它有 70,000 张手写数字图像 - 下载非常简单 - 图像尺寸为 28x28 - 灰度图 from keras.datasets import mnist# 使用 Keras 导入MNIST 数据库 (X_train, y_train), (X_test, y_test) mnist.load_data()print(&…

代码随想录算法训练营第三十六天| 435 无重叠区间 763 划分字母区间 56 合并区间

目录 435 无重叠区间 763 划分字母区间 56 合并区间 435 无重叠区间 将intervals数组按照左端点进行升序排序。 设置变量len标志此时新加入端点后所有区间的位置&#xff0c;将其赋初值为第一对区间的右端点&#xff0c;因为该点是一定可达的。设置变量res来存储需要移除空间…

上海亚商投顾:沪指震荡反弹 消费、医药股走势活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一&#xff0e;市场情绪 指数今日窄幅震荡&#xff0c;黄白二线分化明显&#xff0c;权重股力挺指数&#xff0c;题材小票走…

INA219电流感应芯片_程序代码

详细跳转借鉴链接INA219例程此处进行总结 简单介绍一下 INA219&#xff1a; 1、 输入脚电压可以从 0V~26V,INA219 采用 3.3V/5V 供电. 2、 能够检测电流&#xff0c;电压和功率&#xff0c;INA219 内置基准器和乘法器使之能够直接以 A 为单位 读出电流值。 3、 16 位可编程地…

《数字图像处理-OpenCV/Python》连载(50)非线性灰度变换

《数字图像处理-OpenCV/Python》连载&#xff08;50&#xff09;非线性灰度变换 本书京东优惠购书链接&#xff1a;https://item.jd.com/14098452.html 本书CSDN独家连载专栏&#xff1a;https://blog.csdn.net/youcans/category_12418787.html 第 7 章 图像的灰度变换 灰度变…

Unity | 渡鸦避难所-0 | 创建 URP 项目并导入商店资源

0 前言 知识点零零碎碎&#xff0c;没有目标&#xff0c;所以&#xff0c;一起做游戏吧 各位老师如果有什么指点、批评、漫骂、想法、建议、疑惑等&#xff0c;欢迎留言&#xff0c;一起学习 1 创建 3D&#xff08;URP&#xff09;项目 在 Unity Hub 中点击新项目&#xff…