試題 g:完全二叉樹的權值
時間限制:1.0s 記憶體限制:256.0mb 本題總分:20 分
【問題描述】
給定一棵包含 n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從上到下、從左到右的順序依次是 a1, a2, ··· an,如下圖所示:
現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。
注:根的深度是 1。
【輸入格式】
第一行包含乙個整數 n。
第二行包含 n 個整數 a1, a2, ··· an 。
【輸出格式】
輸出乙個整數代表答案。
【樣例輸入】
71 6 5 4 3 2 1
【樣例輸出】
2【評測用例規模與約定】
對於所有評測用例,1≤ n ≤100000,−100000≤ ai ≤100000。
思路:不要看到是完全二叉樹就被嚇到,其實這個題也沒有涉及到樹的資料結構。學過樹的人都知道,完全二叉樹的深度是log2(n+1)向上取整,沒學過看著示意圖也能推理出來,並且第i層有2^(i-1)個節點,然後列舉每乙個深度的節點權值和就可以了。 有一點需要注意的是,庫函式裡面沒有log2()函式,只有log()函式(相當於ln),所以這裡log2(n+1)要改寫成log(n+1)/log(2)。
**:
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
#define inf 0x3f3f3f3f
#define n 100005
int num[n]=;
int main()
} printf("%d\n",ans);
return 0;
}
第十屆藍橋杯省賽C B組 數列求值
試題 c 數列求值 本題總分 10 分 問題描述 給定數列 1,1,1,3,5,9,17,從第 4 項開始,每項都是前 3 項的和。求第 20190324 項的最後 4 位數字。答案提交 答案 4659 思路 因為結果只要最後4位數字,所以每做一次加法就對10000取模即可。include incl...
第十屆藍橋杯省賽C B組 數列求值
試題 c 數列求值 本題總分 10 分 問題描述 給定數列 1,1,1,3,5,9,17,從第 4 項開始,每項都是前 3 項的和。求第 20190324 項的最後 4 位數字。答案提交 答案 4659 思路 因為結果只要最後4位數字,所以每做一次加法就對10000取模即可。感想 這個題我開始以為陣...
第十屆藍橋杯省賽C B組 數列求值
給定數列 1,1,1,3,5,9,17,從第 4 項開始,每項都是前 3 項的和。求第 20190324 項的最後 4 位數字。看題肯定就是遞推沒跑。for int i 4 i 20190324 i a i a i 1 a i 2 a i 3 1.這道題不 10000就會資料過大,且後四位也只受到後...