二叉树算法题—— [蓝桥杯 2019 省 AB] 完全二叉树的权值

题目https://www.luogu.com.cn/problem/P8681

代码如下:

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;
#define fs first
#define sc second
#define endl '\n'
#define all(x) x.begin(), x.end()
typedef long long ll;
typedef pair<int, int> PII;

const int N = 1e5;

int minh = -1;

int n;

int sum[N],a[N];

void dfs(int node,int h){
	if(node>n)return;
	
	sum[h]+=a[node];
	
	dfs(2*node,h+1);
	dfs(2*node+1,h+1);

    if(sum[h]>sum[minh]) minh = h;
}

int main(){
	
    cin.tie(0);
    cout.tie(0);
    ios::sync_with_stdio(0);

    cin>>n;
    
    for(int i=1;i<=n;i++)cin>>a[i];
    
    dfs(1,1);
    
    cout<<minh<<endl;
    
    return 0;
}

测评结果:

相关推荐
Tisfy2 小时前
LeetCode 1039.多边形三角剖分的最低得分:记忆化搜索(深度优先搜索)
算法·leetcode·深度优先·记忆化搜索
YuTaoShao2 小时前
【LeetCode 每日一题】1470. 重新排列数组——(解法一)构造数组
数据结构·算法·leetcode
劲镝丶2 小时前
顺序队列与环形队列的基本概述及应用
数据结构·c++
宝耶3 小时前
qqqqqqq
数据结构·算法·排序算法
奔跑吧邓邓子3 小时前
【C++实战(53)】C++11线程库:开启多线程编程新世界
c++·实战·多线程·c++11·线程库
l1t3 小时前
编译Duckdb机器学习插件QuackML
数据库·c++·人工智能·机器学习·插件·duckdb
bubiyoushang8884 小时前
雷达目标跟踪中扩展卡尔曼滤波(EKF)算法matlab实现
算法·matlab·目标跟踪
十五年专注C++开发4 小时前
通信中间件 Fast DDS(三) :fastddsgen的安装与使用
linux·c++·windows·中间件·跨平台
tpoog4 小时前
[C++项目组件]Etcd的简单介绍和使用
开发语言·c++·etcd
shark_dev4 小时前
C/C++ 数据类型选择笔记:int、long long、char、string、float、double
c语言·c++