每日一题-acwing 完全二叉树的权值
发布日期:2021-05-07 03:06:09 浏览次数:19 分类:精选文章

本文共 542 字,大约阅读时间需要 1 分钟。

在这里插入图片描述

在这里插入图片描述
每次开头为2的n-1次方,结束为2的n次方减1,注意判断j小于等于n,否则最后一层时,段错误(数组越界)。

#include
using namespace std;typedef long long ll;const int maxn = 1e5+5;int a[maxn];int n;int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; int deep = 1,mxd=1; ll res = INT_MIN; for(int i=1;i<=n;i*=2) { ll ans = 0; for(int j=i;j<=i*2-1 && j<=n;j++) { ans += a[j]; } if(ans>res) { res = ans; mxd = deep; } deep++; } cout<
<<'\n'; return 0;}
上一篇:每日一题-被3整除的子序列(动态规划)
下一篇:每日一题-acwing小朋友排队(树状数组)

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月08日 04时19分22秒