首页 > 其他分享 >P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值

P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值

时间:2024-03-04 12:22:18浏览次数:25  
标签:P8681 return int st 蓝桥 depth 二叉树 include

做这道题的时候混淆了满二叉树和完全二叉树的概念:

满二叉树:顾名思义,就是塞满了

完全二叉树:除了最后一层之外,每一层都必须是满的,且最后一层如果不满,则所有节点都尽可能靠左。

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string>
#define For(i, j, n) for(int i = j ; i <= n ; ++i)
using namespace std;

const int N = 1e5 + 5;

int a[N], n, st = 1, ans, maxval;

void init()
{
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
        scanf("%d", &a[i]);
}

int get_sum(int lv)
{
    int res = 0;
    for(int i = lv; i < min(lv * 2, n + 1); i++)
    {
        if(i > n)
        {
            puts("impossible");
            return -1;
        }
        res += a[i];
    }
    return res;
}

int main()
{
    init();
    int depth = 1;
    while(st < n)
    {
        int t = get_sum(st);
        if(t > maxval)
        {
            ans = depth;
            maxval = t;
        }
        st *= 2;depth++;
    }
    printf("%d\n", ans);
    return 0;
}

这道题也可以不用数组,每次连续读入超过2^i个节点,就重新开始计数即可。

标签:P8681,return,int,st,蓝桥,depth,二叉树,include
From: https://www.cnblogs.com/smartljy/p/18051555

相关文章

  • 第二节:栈相关(二叉树展开为链表、逆波兰表达式、两栈实现队列结构)
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • 二叉树
    记录21:162024-3-31.二叉树1.二叉查找树(BST)2.Treap3.平衡二叉树(AVL)先把自己当时学的时候写的放上来reference:《数据结构与算法分析》嘛,现在只能记得左旋右旋了(喝左旋哈哈哈)点击查看代码#define_CRT_SECURE_NO_WARNINGS//vs中scanf为不安全的函数要使用......
  • 蓝桥杯细节补充
    structm{inti,j,k;booloperator<(constm&t){if(i!=t.i)returni<t.i;if(j!=t.j)returnj<t.j;returnk<t.k;}}m[N];//进行结构体的比较时,重载运算符规定好规则,然后用sort进行排序sort(m,m+num);1221.四平方和https......
  • P8598 [蓝桥杯 2013 省 AB] 错误票据 题解
    思路考虑将\(id\)从小到大排序,然后从\(2\)下标开始扫描一遍\(id\)数组,若当前的\(id_i-id_{i-1}>1\),则说明当前\(id\)存在断号,输出\(id_i-1\);若当前的\(id_i=id_{i-1}\),则说明当前\(id\)存在重号,输出\(id_i\)。注意断号与重号需要分开计算。#include<b......
  • 2024AcWing蓝桥杯集训·每日一题-差分
    1.[AcWing4262.空调]题目描述FarmerJohn的\(N\)头奶牛对他们牛棚的室温非常挑剔。有些奶牛喜欢温度低一些,而有些奶牛则喜欢温度高一些。FarmerJohn的牛棚包含一排\(N\)个牛栏,编号为\(1…N\),每个牛栏里有一头牛。第\(i\)头奶牛希望她的牛栏中的温度是\(p_i\),而现......
  • 蓝桥杯2020决赛:试题 I 奇偶覆盖
    原题如果不考虑奇偶性,其实就是扫描线的板子。考虑如何处理奇偶:首先在线段树存两个变量\(len_1\)以及\(len_2\),分别表示奇长度和偶长度。再用\(sum\)记录当前两个端点之间被覆盖了多少次。然而我们无法直接获得每一个子区间的具体覆盖数目。所以从奇偶性的特点方面入手。......
  • P1040 [NOIP2003 提高组] 加分二叉树
    原题链接题解计算分数是搜索存储前缀注意细节code#include<bits/stdc++.h>usingnamespacestd;#definelllonglongllsco[35][35]={0};stringpre[35][35];lla[35]={0};queue<ll>q;inlinevoidread(ll&x){x=0;llflag=1;charc=getch......
  • 2024AcWing蓝桥杯集训·每日一题-前缀和
    1.[AcWing562.壁画]题目描述Thanh想在一面被均分为\(N\)段的墙上画一幅精美的壁画。每段墙面都有一个美观评分,这表示它的美观程度(如果它的上面有画的话)。不幸的是,由于洪水泛滥,墙体开始崩溃,所以他需要加快他的作画进度!每天Thanh可以绘制一段墙体。在第一天,他可以自由的......
  • 2024AcWing蓝桥杯集训·每日一题-二分
    1.[AcWing503.借教室]题目描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来\(n\)天......
  • 线索二叉树
    线索二叉树即从前、中、后序三种遍历中其中一种来看,树中的左右孩子都不会是空着的,都会指向对应的前驱和后驱。以中序遍历为例,二叉树线索化过程如下:先是树的结构typedefstructThreadNode{Elemetypedata;structThreadNode*lchild,*rchild;intltag,rtag;}Th......