P4913 深基16 例3 二叉樹深度(水題)

2022-05-27 01:57:14 字數 723 閱讀 7255

給出每個節點的兩個兒子節點,建立一棵二叉樹(根節點為 111),如果是葉子節點,則輸入0 0。建好樹後希望知道這棵二叉樹的深度。二叉樹的深度是指從根節點到葉子結點時,最多經過了幾層。

最多有 10610^6106 個結點。無無

輸入 #1複製

7

2 73 6

4 50 0

0 00 0

0 0

輸出 #1複製

4

這麼水的題本來不想寫部落格來著,後來還是打算寫一下提醒自己時刻記著題目裡的坑。

葉子節點可能是獨生子女!

#include using

namespace

std;

int n,ans=0

;struct

node

tree[

1000005

];void dfs(int k,int

layer)

if(tree[k].l)dfs(tree[k].l,layer+1

);

if(tree[k].r)dfs(tree[k].r,layer+1);}

intmain()

dfs(

1,1);

cout

}

洛谷 P4913 深基16 例3 二叉樹深度

給出每個節點的兩個兒子節點,建立一棵二叉樹 根節點為 11 如果是葉子節點,則輸入0 0。建好樹後希望知道這棵二叉樹的深度。二叉樹的深度是指從根節點到葉子結點時,最多經過了幾層。最多有 10 6106 個結點。無無 輸入 7 2 73 6 4 50 0 0 00 0 0 0 輸出 4這道題考察了二叉...

洛谷 P4913 二叉樹深度 (二叉樹 dfs)

題目傳送 看題解有大佬有用樹狀dp的,還有說正解是長鏈剖分。我太菜了,上面那些都不會,用dfs遍歷ac了,不知道是不是資料太水讓我水過了。正應了acm圈一句名言 這題我雖然不會,但ac還是沒問題的 先用結構體建樹 struct node tree maxn 輸入 for int i 1 i n i ...

P5076 深基16 例7 普通二叉樹(簡化版)

您需要寫一種資料結構,來維護一些數 都是 10 9109 以內的數字 的集合,最開始時集合是空的。其中需要提供以下操作,操作次數 qq 不超過 10 4104 查詢 xx 數的排名 排名定義為比當前數小的數的個數 1 1。若有多個相同的數,因輸出最小的排名 查詢排名為 xx 的數。求 xx 的前驅 ...