2039.樹的統計
★★ 輸入檔案:counttree.in 輸出檔案:counttree.out 簡單對比
時間限制:1
s 記憶體限制:128 mb
【題目描述】
關於樹的統計問題有多種多樣的版本,這裡你需要解決乙個比較簡單的問題:對於一棵包含n個節點的有根樹,將所有點從1到n編號後,對於每乙個節點v,統計出以v為根的子樹中有多少個點的編號比v小。
【輸入格式】
輸入第一行包含乙個整數n,以下n行每行包含乙個整數,其中第i行的整數表示編號為i的節點的父親節點的編號,根的父親節點編號為0。
【輸出格式】
輸出包含n行,其中第i行給出編號為i的節點的統計結果。
【樣例輸入】32
30【樣例輸出】
0 1 2
【提示】
在此鍵入。
【**】
20%的資料1<=n<=1000
100%的資料1<=n<=100000
暴力,找出所有最底下的點(也就是葉節點),有葉節點往上不斷找到祖先,如果祖先的序號比他小,那麼祖先這個點的ans就++,找這個點時可以用拓撲排序。
1 #include2 #include3using
namespace
std;45
const
int n = 100100;6
7 queueq;
8int fa[n]; //
記錄父親
9int
ans[n];
10int ru[n]; //
記錄入度
11int
n,d,now;
1213
void
sove()
1427 ru[fa[d]]--;
28if(ru[fa[d]]==0
) q.push(fa[d]);29}
30}3132
intmain()
3342
sove();
43for(int i=1;i<=n;++i)
44 printf("
%d\n
",ans[i]);
45return0;
46 }
COGS 2039 樹的統計
輸入檔案 counttree.in輸出檔案 counttree.out簡單對比 時間限制 1 s 記憶體限制 128 mb 關於樹的統計問題有多種多樣的版本,這裡你需要解決乙個比較簡單的問題 對於一棵包含n個節點的有根樹,將所有點從1到n編號後,對於每乙個節點v,統計出以v為根的子樹中有多少個點的編...
cogs1583 POJ3237 樹的維護
輸入檔案 maintaintree.in輸出檔案 maintaintree.out簡單對比 時間限制 5 s 記憶體限制 128 mb 給你由n個結點組成的樹。樹的節點被編號為1到n,邊被編號為1到n 1。每一條邊有乙個權值。然後你要在樹上執行一系列指令。指令可以是如下三種之一 change i v...
COGS 2096 不平凡的許願樹
noip要到了,大家來到許願樹前。這個許願樹不僅僅是許願樹,還有未卜先知的功能。眾oier問許願樹 不平凡的許願樹,ccf告訴我們noip中會有兩道題目從openjudge上選擇,你能不能告訴我是哪兩道題。許願樹想了想直接說出答案並不妥 中國有句古話叫 悶聲大發財 我就什麼也不說,這是最好的。但是我...