藍橋杯 2023年 完全二叉樹的權值

2021-10-24 20:28:11 字數 975 閱讀 3110

給定一棵包含 n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從 上到下、從左到右的順序依次是 a1, a2, · · · an,如下圖所示:

現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點 權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。

注:根的深度是 1。

輸入第一行包含乙個整數 n。 第二行包含n個整數a1,a2,··· an。

輸出輸出乙個整數代表答案。

樣例輸入

7

1 6 5 4 3 2 1

樣例輸出

2
層數

每層節點數

全部節點數

12^0

2^1-1

22^1

2^2-1

n2^(n-1)

2^n-1

假設這棵樹是完全二叉樹,也就是除了最後一層對於其他每一層而言,都是滿的,同時,完全二叉樹和滿二叉樹的層數計算方法一樣,**中有具體實現,如果這棵樹有n個節點,把每個節點放在陣列中,陣列下標從1開始,那麼剛好2^(n-1)是第n層第乙個數的下標,2^n-1是第n層最後乙個數的下標,但是因為它是完全二叉樹,所以最後一層需要單獨算

#include#include#include#define ll long long

int main()

ll sum;

for(i=1;imaxx)

}sum=0;

for(i=pow(2,k-1);i<=n;i++)

sum+=a[i];

if(sum>maxx)

printf("%lld\n",flag);

return 0;

}

1457 藍橋杯2019初賽 完全二叉樹的權值

給定一棵包含n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從 上到下 從左到右的順序依次是a1,a2,an,如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點 權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根的深度是1。1 完全二叉樹不一定...

1457 藍橋杯2019初賽 完全二叉樹的權值

原題鏈結 給定一棵包含n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從 上到下 從左到右的順序依次是a1,a2,an,如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點 權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根的深度是1。716 5...

藍橋杯 完全二叉樹的權值

試題 g 完全二叉樹的權值 時間限制 1.0s 記憶體限制 256.0mb 本題總分 20 分 問題描述 給定一棵包含 n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從 上到下 從左到右的順序依次是 a1,a2,an,如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點...