栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

完全二叉树的权值

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

完全二叉树的权值

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

题意就是给你n个点,然后按照完全二叉树的结点的编号依次读入权值,问权值最大的且最靠前的深度是多少

贴一位大佬的博客555

​​​​​​(3条消息) 完全二叉树的权值_烫烫烫~的博客-CSDN博客

我觉得上面讲的已经很完美了,手动点赞

然后就是记住一个公式:二叉树的深度是ceil(log2(n+1))//以2为底

然后c++库里面log以e为底,所以用过换底公式就是:int h=ceil(log(i+1)/log(2));

然后就没啥了,每一层加起来就可以了,主要就把深度弄清楚就可以了

#include
#include
using namespace std;
const int N=1e6+10,INF=-0x3f3f3f3f;
int sum[N];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)//从1开始 
	{
		int w;
		cin>>w;
		int h=ceil(log(i+1)/log(2));
		sum[h]+=w;
//		cout< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/976582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号