總時間限制:
4000ms
單個測試點時間限制:
2000ms
記憶體限制:
262144kb
描述
有一棵樹,樹上有只毛毛蟲。它在這棵樹上生活了很久,對它的構造瞭如指掌。所以它在樹上從來都是走最短路,不會繞路。它還還特別喜歡三角形,所以當它在樹上爬來爬去的時候總會在想,如果把剛才爬過的那幾根樹枝/樹幹鋸下來,能不能從中選三根出來拼成乙個三角形呢?
輸入輸入資料的第一行包含乙個整數 t,表示資料組數。
接下來有 t 組資料,每組資料中:
第一行包含乙個整數 n,表示樹上節點的個數(從 1 到 n 標號)。
接下來的 n-1 行包含三個整數 a, b, len,表示有一根長度為 len 的樹枝/樹幹在節點 a 和節點 b 之間。
接下來一行包含乙個整數 m,表示詢問數。
接下來m行每行兩個整數 s, t,表示毛毛蟲從 s 爬行到了 t,詢問這段路程中的樹枝/樹幹是否能拼成三角形。
1 ≤ t ≤ 5
小資料:1 ≤ n ≤ 100, 1 ≤ m ≤ 100, 1 ≤ len ≤ 10000
大資料:1 ≤ n ≤ 100000, 1 ≤ m ≤ 100000, 1 ≤ len ≤ 1000000000
輸出對於每組資料,先輸出一行"case #x:",其中x為資料組數編號,從 1 開始。
接下來對於每個詢問輸出一行,包含"yes"或「no」,表示是否可以拼成三角形。
樣例輸入
251 2 5
1 3 20
2 4 30
4 5 15
23 4
3 55
1 4 32
2 3 100
3 5 45
4 5 60
21 4
1 3
樣例輸出
case #1:noyes
case #2:
noyes
樹上三角形
description 給定一大小為n的有點權樹,每次詢問一對點 u,v 問是否能在u到v的簡單路徑上取三個點權,以這三個權值為邊長構成乙個三角形。同時還支援單點修改。input 第一行兩個整數n q表示樹的點數和運算元 第二行n個整數表示n個點的點權 以下n 1行,每行2個整數a b,表示a是b的...
樹上三角形
題目描述 給定乙個大小為n的有點權樹,需要支援兩個操作。0 詢問 u,v 能否在u到v的簡單路徑上取三個點,使這三個點的點權作為邊長可以構成乙個三角形。1 修改某個點的點權。輸入格式 第一行兩個整數n,q表示樹的點數和運算元。第二行n個整數表示n個點的初始的點權。接下來n 1行,每行兩個整數a,b,...
樹上三角形 tri
時間限制 1 sec 記憶體限制 256 mb 題目描述 給定一大小為n的有點權樹,每次詢問一對點 u,v 問是否能在u到v的簡單路徑上取三個點權,以這三個權值為邊長構成乙個三角形。同時還支援單點修改 輸入 第一行兩個整數n q表示樹的點數和運算元 第二行n個整數表示n個點的點權 以下n 1行,每行...