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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0