題目背景
hz大大是一種可愛的動物(神)。他很喜歡吐泡泡(更喜歡寫作業)。
題目描述
這天,hz大大心血來潮,吐了n個不同的泡泡玩(保證沒有重複的泡泡)。因為他還要寫作業,所以他請你幫他把這些泡泡排序成樹(左子樹<=根《右子樹)。輸出它的後序遍歷。
輸入格式
共2行。
第一行,1個整數n。(1<=n<=300000)
第二行,n個數,代表泡泡的大小。
輸出格式
共2行。
第一行,輸出樹的深度。
第二行,輸出數的後序遍歷。
詳見樣例輸出。
輸入 #1
8輸出 #11 4 3 9 10 35 2 7
deep=523bst(binary search tree);735109
41
1.第乙個數為樹的根結點;
2.然後利用&進行建樹,可以邊輸入數邊建樹;&的妙用可以有效的減少指標的使用;
3.發現不同的樹的建樹方式都不太同,線段樹,主席樹,都不太同,要深刻理解;
**:
#include
#define ll long long
#define pa pair
#define lson k<<1
#define rson k<<1|1
#define n 500100
#define m 2000010
using
namespace std;
struct nodetree[
300100];
int nowd;
//插入乙個數後樹的深度
int deep;
//全插入後樹的深度
int root;
//根結點
int cnt;
//結點序號
void
add(
int&k,
int x)
if(x>tree[k]
.w)add
(tree[k]
.r,x)
;//右子樹
else
add(tree[k]
.l,x)
;//左子樹
return;}
void
dfs(
int k)
intmain()
printf
("deep=%d\n"
,deep)
;dfs
(root)
;return0;
}
洛谷 P2171 Hz吐泡泡
hz大大是一種可愛的動物 神 他很喜歡吐泡泡 更喜歡寫作業 這天,hz大大心血來潮,吐了n個不同的泡泡玩 保證沒有重複的泡泡 因為他還要寫作業,所以他請你幫他把這些泡泡排序成樹 左子樹 根 右子樹 輸出它的後序遍歷。輸入格式 共2行。第一行,1個整數n。1 n 300000 第二行,n個數,代表泡泡...
洛谷P2587 ZJOI2008 泡泡堂(貪心)
題目描述 第 x屆noi期間,為了加強各省選手之間的交流,組委會決定組織一場省際電子競技大賽,每乙個省的代表隊由n名選手組成,比賽的專案是老少咸宜的網路遊戲泡泡堂。每一場比賽前,對陣雙方的教練向組委會提交乙份參賽選手的名單,決定了選手上場的順序,一經確定,不得修改。比賽中,雙方的一號選手,二號選手 ...
洛谷P2587 ZJOI2008 泡泡堂 題解
題目傳送門 題目大意 不知道怎麼能夠表述的更簡潔一些。思考過程 具體做法 模擬田忌賽馬,策略是 1.將我方最菜的和敵方最菜的比較,如果我方的比較厲害就 2.將我方最強的和地方最強的比較,如果我方的比較厲害就 3.用我方最菜的換掉地方最強的 上述三條按序號來優先執行,策略正確性不會證2333 incl...