QTREE3 - Query on a tree again!

Truy vấn trên cây

Cho một cây (đồ thị vô hướng phi chu trình) có N nút. Các nút của cây được đánh số từ 1 đến N. Ban đầu, mỗi nút đều có màu trắng.

Bạn phải thực hiện các thao tác có dạng sau:

  • 0 i: đổi màu nút thứ i (từ đen thành trắng, hoặc từ trắng thành đen)
  • 1 v: tìm chỉ số của nút đen đầu tiên trên đường đi từ nút 1 đến nút v. Nếu không tồn tại, hãy trả về -1.

Dữ liệu

  • Dòng thứ nhất gồm hai số nguyên NQ.
  • N-1 dòng sau, mỗi dòng gồm hai số nguyên a b mô tả một cạnh nối giữa nút a và nút b.
  • Q dòng sau chứa các thao tác dạng "0 i" hoặc "1 v" (1 ≤ i, v ≤ N).

Kết quả

Với mỗi thao tác dạng "1 v", in ra một số nguyên là kết quả.

Ví dụ

Dữ liệu
9 8
1 2
1 3
2 4
2 9
5 9
7 9
8 9
6 8
1 3
0 8
1 6
1 7
0 2
1 9
0 2
1 9 

Kết quả
-1
8
-1
2
-1

Giới hạn

Có 12 test:

  • Trong 1/3 số test, N=5000, Q=400000.
  • Trong 1/3 số test tiếp theo, N=10000, Q=300000.
  • Trong 1/3 số test tiếp theo, N=100000, Q=100000.

Added by:Fudan University Problem Setters
Date:2008-06-14
Time limit:2s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:VNOI Marathon '08 - Round 6/DivA
Problem Setter: Blue Mary

hide comments
2024-12-19 12:13:53
this easy segment problems should be removed from spoj instead you can think about this problems(sack) dsu on tree
https://codeforces.com/blog/entry/44351

Last edit: 2024-12-19 12:14:19
2024-04-24 18:55:52
why segment tree and hld not getting ac?
2024-04-10 16:30:43
<snip>
where is problem
[Simes]: this is not the place for debugging code, use the forum.

Last edit: 2024-04-10 20:56:08
2024-01-22 11:40:03
What does 0 and 41.57 mean in the judge status ?
2024-01-05 19:52:00
is there a solution without HLD?
2023-02-04 03:14:44
replying to llite_27
HLD, use sets to keep track of black nodes in heavy paths
2023-01-10 15:32:26
hmmm just ett and lazy segment
2022-08-17 11:51:44
my code using HLD +BIT +Binary Search
<snip>
Please share if you done using any other method thanks in advance...

[Simes]: Read the footer - Don't post source code here, use the forum.



Last edit: 2022-08-17 12:30:35
2022-03-29 02:28:35
You don't need HLD. Just binary lifting and Euler tour are sufficient.

Don't use HLD when you don't need to.
2022-01-06 17:22:02
Perfect score is 100 btw.

Last edit: 2022-01-06 17:22:38
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.