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就是根...