公司网页网站建设ppt模板下载,湖州长兴建设局网站,江西省建设厅网站资质升级查询,昆山做网站多少钱作者#xff1a;指针不指南吗 专栏#xff1a;蓝桥杯倒计时冲刺 #x1f43e;马上就要蓝桥杯了#xff0c;最后的这几天尤为重要#xff0c;不可懈怠哦#x1f43e; 文章目录1.完全二叉树1.完全二叉树 题目 链接#xff1a; 完全二叉树的权值 - 蓝桥云课 (lanqiao.cn) 给… 作者指针不指南吗 专栏蓝桥杯倒计时冲刺 马上就要蓝桥杯了最后的这几天尤为重要不可懈怠哦 文章目录1.完全二叉树1.完全二叉树 题目 链接 完全二叉树的权值 - 蓝桥云课 (lanqiao.cn) 给定一棵包含 N 个节点的完全二叉树树上每个节点都有一个权值按从 上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅A N如下图所示 现在小明要把相同深度的节点的权值加在一起他想知道哪个深度的节点 权值之和最大如果有多个深度的权值和同为最大请你输出其中最小的深度。 注根的深度是 1。 输入描述 第一行包含一个整数 N*1≤N≤105。 第二行包含 N 个整数A1,A2,⋅⋅⋅A**N*−10510^5105 ≤A i≤10510^5105 。 输出描述 输出一个整数代表答案。 输入 7
1 6 5 4 3 2 1输出 2题解 #includebits/stdc.h
using namespace std;const int N1e510;
int a[N]; //数组的大小 开的大一点 int main()
{int n;scanf(%d,n);for(int i1;in;i)scanf(%d,a[i]);int depth0;long long sum-1e18; //让 sum 尽可能的小因为输入的数中含有负数 //我们可以举几个例子推出规律 //每一层的一个数编号为 2^(i-1) ,每一层的的个数为 2^(depth-1) for(int i1,d1;in;i*2,d) // i 表示每一层的第一个编号{ long long s0; //每一层的 权值 for(int ji;ji(1d-1)jn;j) //j 表示每一层的编号保证 j 不越每一层的界和整个节点个数的界 sa[j];if(sums) //比较每一层 权值 {sums;depthd; } } coutdepth;return 0;
}反思 读题理解他深层次的要求明确要求什么 属于一个规律题编号可以 推出来 逻辑一定要 正确思路清晰一点数据范围的处理