trang chủ / bài tập / subcolork

Truy vấn màu trên cây con

Đề bài

Mô tả

Cho một cây có gốc gồm n đỉnh, được đánh số từ 1 đến n. Gốc của cây là đỉnh 1. Mỗi đỉnh v có một màu cv.

m truy vấn, mỗi truy vấn gồm hai số nguyên vk. Với mỗi truy vấn, hãy đếm số màu x sao cho cây con gốc v chứa ít nhất k đỉnh có màu x.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • Dòng thứ hai chứa n số nguyên c1,c2,,cn — màu của các đỉnh.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên ai,bi mô tả một cạnh của cây.
  • m dòng cuối, mỗi dòng chứa hai số nguyên vj,kj mô tả một truy vấn.

Dữ liệu ra

In ra m số nguyên, mỗi số trên một dòng, là đáp án của các truy vấn theo đúng thứ tự xuất hiện.

Ràng buộc

  • 2n105
  • 1m105
  • 1ci105
  • 1ai,bin, aibi
  • 1vjn, 1kj105

Ví dụ

Input Output Giải thích
8 5
1 2 2 3 3 2 3 3
1 2
1 5
2 3
2 4
5 6
5 7
5 8
1 2
1 3
1 4
2 3
5 3
2
2
1
0
1
Cây con gốc 1 có 8 đỉnh với các màu: một màu 1, ba màu 2, bốn màu 3. Với k=2 có 2 màu thoả mãn (màu 2, màu 3); với k=3 cũng 2 màu; với k=4 chỉ còn màu 3. Cây con gốc 2 gồm các đỉnh {2,3,4} với hai màu 2 và một màu 3, k=3 → đáp án 1. Cây con gốc 5 có 4 đỉnh với một màu 2 và ba màu 3, k=3 → đáp án 1.
4 1
1 2 3 4
1 2
2 3
3 4
1 1
4 Cây con gốc 1 chứa toàn bộ 4 đỉnh, mỗi màu xuất hiện đúng 1 lần, nên có 4 màu xuất hiện ít nhất 1 lần.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0