1057 樹的查詢

2021-09-11 01:43:51 字數 795 閱讀 7854

time limit: 1000 ms memory limit: 32768 kb

total submission(s): 367 accepted submission(s): 65

給定 n(1 <= n <= 1000000), m(1 <= m <= 10) 分別表示一棵樹中節點的個數及查詢的數量,每個節點的編號為給定的順序,之後給定每個節點的父節點編號,及 m 個查詢,每個查詢中,給定乙個節點編號,對於每個查詢,按編號從小到大輸出該節點所有子節點。

第一行兩個整數n, m,之後n行,每行兩個整數a, b,表示編號為a的節點的父節點是b,b為0表示沒有父節點,資料保證編號為1至n的節點均在a位置出現一次,之後一行m個整數,表示每個查詢要查詢的節點編號。

m行,每行若干個從小到大排好序的、用乙個空格隔開的整數,表示該次查詢的節點的所有子節點。

sample input

5 11 0

4 12 1

5 13 1

1sample output

2 3 4 5

source

unknown

#include #include #include #include #include using namespace std;

int h[1000000];

map> mp;

int main()

while(m--)

sort(h,h+i);

for(int j=0;jcout<<'\n';

}return 0;

}

pat 1057 Stack 樹狀陣列 二分查詢

給我們乙個n表示運算元量 然後三種操作 push和pop 還有求中位數的操作 讓我們根據操作輸出正確的解 用sort排序做 或者 map標記法都會超時 考慮更快的方法 如何快速找到給定一串數的中位數 可以去索引 但是需要排序 題目中告訴我們每個元素都小於1e5 那麼也就是說 上下界已知 那麼求中位數...

基於樹的查詢

二叉排序樹 建立二叉樹,並將資料插入到結點中。程式執行後會將原資料進行從小到大排序,並輸出排序結果 定義陣列source,並設定陣列裡面的資料。然後定義函式insertbst 用於在二叉樹排序插入關鍵字key。首先查詢要插入資料的父結點,然後根據插入資料的key于父結點值的大小,決定將結點插入到父結...

多級樹的查詢

start with connect by prior子句實現遞迴查詢 表中第一行1001是1002的父節點,而第二行1002又是1003的父節點,如此迴圈。如題 要求給出其中乙個數字能找出其最終的根節點!應該要怎麼樣實現呢?請看如下sql語句,這裡我就拿1008為例。圖中第一行第乙個num1就是根...