http://web2.ck.tp.edu.tw/~step5/probdisp.php?pid=0008
這題題目是給你平衡二元樹上的節點,有些會往子節點傳遞電波,有些會阻擋電波。問總共有多少節點會有電波。
直觀的想法是建二元樹去跑,但是範圍太大,所以利用二元樹的節點有 n ,2n, 2n+1,的關係這點,我們可以先算出每一層的範圍,推算出每一點在哪一層,將點座標除2再二分搜他的父節點或是祖先(至少會有根節點),如果性質不同(會不會傳導),就加或減掉該節點的子節點數(會傳導就加,不會就扣掉);如果性質相同,因為會重複計算所以就忽略該節點。
全部連完之後答案就出來了。
1 |
|