給定一顆樹,輸出樹的根root,孩子最多的結點max以及他的孩子。
第一行:n(結點個數<=100)m(邊樹<=100)
以下m行:每行倆個結點x和y,表示y是x的孩子(x,y<=1000)
第一行:樹根root。
第二行:孩子最多的結點max。
第三行:max的孩子。
8 74 1
4 21 3
1 52 6
2 72 842
6 7 8
">#includeconst int maxn =105;
using namespace std;
int tree[maxn];
int n,m;
int main()
for(int i=1;i<=n;i++)//找出樹根
}for(int i=1;i<=n;i++)//找出孩子最多的根結點
}} cout
return 0;
}
樹的簡單問題總結
對於樹上的每乙個點,計算其所有子樹中最大的子樹節點數,這個值最小的點就是這棵樹的重心 以樹的重心為根時,所有子樹的大小都不超過整棵樹大小的一半一棵樹最多有兩個重心樹中所有點到某個點的距離和中,到重心的距離和是最小的 如果有兩個重心,那麼到它們的距離和一樣 在一棵樹上新增或刪除乙個葉子,那麼它的重心最...
線段樹 簡單的整數問題2
給定乙個長度為n的數列a,以及m條指令,每條指令可能是以下兩種之一 1 c l r d 表示把 a l a l 1 a r 都加上 d。2 q l r 表示詢問 數列中第 l r 個數的和。對於每個詢問,輸出乙個整數表示答案。輸入格式 第一行兩個整數n,m。第二行n個整數a i 接下來m行表示m條指...
生成樹計數問題的簡單推廣
第乙個推廣 在生成樹計數問題中,其實我們做了這樣乙個假設,就是每條邊的權值是1。我們再來看下這個公式 對於關聯矩陣b來說 對於乙個n個頂點m條邊的無向圖g,它的關聯矩陣b是乙個n m的矩陣。對於第i條邊e i u,v 那麼b u i 和b v i 中乙個是1,乙個是 1,第i列其他值為0 我們可以這...