当前位置: 首页 > news >正文

蓝桥杯刷题冲刺 | 倒计时25天

作者:指针不指南吗
专栏:蓝桥杯倒计时冲刺

🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾

文章目录

  • 1.完全二叉树

1.完全二叉树

  • 题目

    链接: 完全二叉树的权值 - 蓝桥云课 (lanqiao.cn)

    给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅A N,如下图所示:

    img

    现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。

    注:根的深度是 1。

    输入描述

    第一行包含一个整数 N*(1≤N≤105)。

    第二行包含 N 个整数A1,A2,⋅⋅⋅A**N*(−10510^5105A i10510^5105 )。

    输出描述

    输出一个整数代表答案。

    输入

    7
    1 6 5 4 3 2 1
    

    输出

    2
    
  • 题解

    #include<bits/stdc++.h>
    using namespace std;const int N=1e5+10;
    int a[N];  //数组的大小 开的大一点 int main()
    {int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);int depth=0;long long sum=-1e18;  //让 sum 尽可能的小,因为输入的数中含有负数  //我们可以举几个例子,推出规律 //每一层的一个数编号为 2^(i-1) ,每一层的的个数为 2^(depth-1) for(int i=1,d=1;i<=n;i*=2,d++)  // i 表示,每一层的第一个编号{	long long s=0;  //每一层的 权值 for(int j=i;j<i+(1<<d-1)&&j<=n;j++)  //j 表示每一层的编号,保证 j 不越每一层的界和整个节点个数的界 s+=a[j];if(sum<s)  //比较每一层 权值 {sum=s;depth=d;	}	} cout<<depth;return 0;
    }
    
  • 反思

    读题,理解他深层次的要求,明确要求什么

    属于一个规律题,编号可以 推出来

    逻辑一定要 正确,思路清晰一点,数据范围的处理

Alt

http://www.lryc.cn/news/39980.html

相关文章:

  • c语言—动态内存管理
  • 请说明Ajax、Fetch、Axios三者的区别
  • 阿里p8测试总监,让我们用这份《测试用例规范》,再也没加班过
  • 【Unity】数据持久化路径Application.persistentDataPath
  • 华为OD机试 - 插队(Java JS Python)
  • MongoDB数据库从入门到精通系列之八:调整oplog大小
  • PCL 间接平差法拟合二维直线
  • 进程调度的基本过程
  • python自动化办公(二)
  • Qt Quick - GridLayout 网格布局
  • 安卓手机也可以使用新必应NewBing
  • 支付系统设计:消息重试组件封装
  • Visual Studio 2022 c#中很实用的VS默认快捷键和原生功能
  • Python的30个编程技巧
  • MySQL:JDBC
  • C++【list容器模拟实现函数解析】
  • (Java)试题 算法提高 约数个数
  • 魔法反射--java反射初入门(基础篇)
  • 概率统计_协方差的传播 Covariance Propagation
  • 大学生考研的意义?
  • 【C++笔试强训】第三十一天
  • toString()、equals()是什么,为啥需要重写,多种方法来重写
  • 家装材料清单中会有哪些装饰材料?
  • 【C++初阶】6. CC++内存管理
  • 【数据结构】万字超详解顺序表(比细狗还细)
  • yolov5 剪枝、蒸馏、压缩、量化
  • 如何用python代码,更改照片尺寸,以及更换照片底色
  • 【pygame游戏】Python实现蔡徐坤大战篮球游戏【附源码】
  • 通过指针引用字符串详解,以及字符指针变量和字符数组的比较
  • Vue基本整合(一)