CodeForce[1500-2000]——1950F - 0, 1, 2, Tree!

ops/2024/12/22 21:50:10/

codeforces刷题日记

题目大意:要求你构造一棵树,树有三种节点,a个节点有两颗子树,b个节点有一颗子树,c给节点是叶子节点,求这样一颗树的最小深度。

思路:首先可以确定这是一颗二叉树,那我们可以先利用二叉树性质:a=c+1(可以想象一下,每次为一个叶子节点添加两条边,叶子节点+1,度为2的节点也+1;而为叶子节点只加一条边时,叶子节点数量不变),这样就可以判断题目给的节点数是否合理,不合理直接输出-1;只要合法了,那我们就不用管c了,因为根据a构建出来的二叉树一定c=a+1,我们要做的只要添加度为1和2的节点就可以,那如何让深度最小呢,那我们肯定要贪心的策略,尽可能先放度为2的,这样在一层的节点可以最多,在实现的时候,我们不需要创建一颗树,我们用curr和next保存当前深度和下一深度的节点树,然后迭代遍历即可。

#include<iostream>
using namespace std;
int t,a,b,c;
void solve() {int a, b, c;cin >> a >> b >> c;if (a + 1 != c) {cout << -1 << '\n'; return;}if (a + b + c == 1) {cout << 0 << '\n'; return;}int curr = 1, next = 0, res = 1;for (int i = 0; i < a + b; i++) {if (!curr) {swap(next, curr);res++;}curr--;next++;if (i < a) {next++;}}cout << res << '\n';
}
int main(){cin>>t;while(t--){solve();}return 0;
}


http://www.ppmy.cn/ops/7946.html

相关文章

2024年4月22日加密解密验签业务总结

第一版&#xff1a;企业收入区间查询业务接口 {"info": {"_postman_id": "4d25be8f-30a6-4ac2-b920-1130fbd5555b","name": "企业区间数据查询业务接口","schema": "https://schema.getpostman.com/json/c…

RattbitMQ安装

1.RabbitMQ是什么? RabbitMQ是消息队列的一种&#xff0c;生态好&#xff0c;好学习&#xff0c;易于理解&#xff0c;时效性强,支持很多不同语言的客户端,扩展性、可用性都很不错。学习性价比非常高的消息队列&#xff0c;适用于绝大多数中小规模分布式系统。 今天先来简单讲…

SQLite R*Tree 模块(三十三)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite FTS3 和 FTS4 扩展(三十二) 下一篇:SQLite轻量级会话扩展&#xff08;三十四&#xff09; 1. 概述 R-Tree 是一个特殊的 专为执行范围查询而设计的索引。R-树最常见的是 用于地理空间系统&#xff0c;其中…

贪吃蛇游戏实现(VS编译环境)

贪吃蛇游戏 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;C语言&#x1f353; &#x1f33c;文章目录&#x1f33c; 0. 前言 1. 游戏背景 2. 实现后游戏画面展示 3. 技术要求 4. Win32 API介绍 4.1 Win32 API 4.2 控制台程序 4.…

微信小程序vue.js+uniapp服装商城销售管理系统nodejs-java

本技术是java平台的开源应用框架&#xff0c;其目的是简化Sping的初始搭建和开发过程。默认配置了很多框架的使用方式&#xff0c;自动加载Jar包&#xff0c;为了让用户尽可能快的跑起来spring应用程序。 SpinrgBoot的主要优点有&#xff1a; 1、为所有spring开发提供了一个更快…

原创: 重构证据定义以消解贝叶斯确证逻辑的内在矛盾

摘要&#xff1a;现行的贝叶斯确证逻辑沿袭传统确证逻辑的证据观&#xff0c;不考虑经验事实与待确证假说之间逻辑关系的确证作用&#xff0c;因而存在着旧证据问题、非相干确证问题、乌鸦悖论等内在矛盾。依据科学方法论重新构筑证据的逻辑表达&#xff0c;厘清确证的量化过程…

什么是Transformer架构的自注意力机制?

Transformer模型是什么&#xff1f; Transformer模型是一种基于自注意力机制的深度学习模型&#xff0c;最初由Vaswani等人在2017年提出&#xff0c;并在自然语言处理&#xff08;NLP&#xff09;任务中取得了显著的性能提升。与传统的循环神经网络&#xff08;RNN&#xff09;…

【python】启动一个公司级项目的完整报错和解决方案

启动一个项目对于新手都是不容易的事情 操作 打开项目 使用pyCharm打开python项目以后&#xff0c;先找main方法&#xff0c;一般在根目录有一个.py的文件 点进去以后会让你配置Python解释器 每个项目都有自己的一个虚拟环境&#xff0c;配置自己的解释器&#xff0c;可能…