codevs 2879 堆的判斷

2022-04-05 02:35:03 字數 966 閱讀 6741

題目描述 description

堆是一種常用的資料結構。二叉堆是乙個特殊的二叉樹,他的父親節點比兩個兒子節點要大,且他的左右子樹也是二叉堆。現在輸入一顆樹(用二叉樹的陣列表示,即a[i]的左兒子與右兒子分別為a[2i],a[2i+1]),要求判斷他是否是乙個堆。

輸入描述 input description

乙個整數n,表示結點數。

第二行n個整數,表示每個結點代表的數字

輸出描述 output description

如果是,輸出『yes』

否則輸出『no』

樣例輸入 sample input

1 2 3 4 5

樣例輸出 sample output

no資料範圍及提示 data size & hint

1數字在2^31以內

很洪水的一道題,發出來就是為了證明我還活著。。

惡補一下基礎知識 。堆(也叫優先佇列),是一棵完全二叉樹,它的特點是父節點的值大於(小於)兩個子節點的值(分別稱為大頂堆和小頂堆)。它常用於管理演算法執行過程中的資訊,應用場景包括堆排 序,優先佇列等。

#include #include 

#include

using

namespace

std;

bool

flag;

int n,i,j,a[103111

];int

main()

}if(flag) cout<<"no"

;

else cout<<"

yes"

;}

codevs 2879 堆的判斷

題目描述 description 堆是一種常用的資料結構。二叉堆是乙個特殊的二叉樹,他的父親節點比兩個兒子節點要大,且他的左右子樹也是二叉堆。現在輸入一顆樹 用二叉樹的陣列表示,即a i 的左兒子與右兒子分別為a 2i a 2i 1 要求判斷他是否是乙個堆。輸入描述 input descriptio...

codevs 2879 堆的判斷

時間限制 1 s 空間限制 32000 kb 題目等級 gold 堆是一種常用的資料結構。二叉堆是乙個特殊的二叉樹,他的父親節點比兩個兒子節點要大,且他的左右子樹也是二叉堆。現在輸入一顆樹 用二叉樹的陣列表示,即a i 的左兒子與右兒子分別為a 2i a 2i 1 要求判斷他是否是乙個堆。輸入描述 ...

2879 堆的判斷

時間限制 1 s 空間限制 32000 kb 題目等級 gold description 堆是一種常用的資料結構。二叉堆是乙個特殊的二叉樹,他的父親節點比兩個兒子節點要大,且他的左右子樹也是二叉堆。現在輸入一顆樹 用二叉樹的陣列表示,即a i 的左兒子與右兒子分別為a 2i a 2i 1 要求判斷他...