二叉樹的編號優化 小球下落

2021-08-20 12:59:40 字數 427 閱讀 2357

參考:演算法競賽入門經典

①:每個小球都會落在根節點上,因此前兩個小球必然是乙個在左子樹,乙個在右子樹。

②:一般,只需要知道小球編號的奇偶性,就能知道它是最終在哪棵子樹中。

③:對於那些落入根結點左子樹來說,只需知道該小球是第幾個落在根的左子樹里的,就可以知道它下一步該往左還是往右了。以此類推,直到小球落到葉子結點上。

**:

#include#includeusing namespace std;

//const int maxn = 20;

//int a[1 << maxn];//結點的最大數為2^maxn-1個

int main()

else

} cout << k << endl;

} return 0;

}

小球下落(二叉樹)

有一棵二叉樹,最大深度為d,且所有葉子的深度都相同。所有結點從上到下從左到右編號為1,2,3,2 d 1。在結點1處放乙個小球,它會往下落。每個內結點上都有乙個開關,初始全部關閉,當每次有小球落到乙個開關上時,它的狀態都會改變。當小球到達乙個內結點時,如果該結點上的開關關閉,則往左走,否者往右走,直...

UVa 679 小球下落 二叉樹的編號

在結點1處放乙個小球,它會往下落。每個內結點上都會有乙個開關,初始全部關閉,當每次有小球落到乙個開關上時,狀態都會改變。當小球到達乙個結點是,如果結點上的開關關閉,則往左走,否則往右走,直到走到葉子的結點,如圖。分析 對於乙個結點k,其左結點和右結點分別為2k和2k 1。小球落到結點處,先改變,後選...

UVa679小球下落(二叉樹的編號)

樹是n個元素的有限集合,不再是序列,其中 n 0 樹可以看成無共享純廣義表。二叉樹的3個要素,根結點,左子樹和右子樹。二叉樹不是樹,樹的兩個要素是根結點和子樹森林。無論線性結構還是樹形結構,第乙個元素都沒有前驅。線性結構的最後乙個元素都沒有後繼,樹形結構有多個葉子結點,都沒有後繼。對於中間的一般元素...