WORDS AND TREES

Cho một cây có ~ n ~ nút, các nút được đánh số từ 1 đến ~ n ~, nút 1 là nút gốc của cây. Mỗi nút trên cây có giá trị là 1 chữ cái tiếng anh in thường. Có q truy vấn, mỗi truy vấn dạng:

  • ~ x~ ~s ~: trong đó ~ x ~ là gốc cây con và ~ s ~ là một xâu.

Với mỗi truy vấn, gọi ~ t ~ là xâu được xây dựng bằng cách lấy tất cả các ký tự trong cây con gốc ~ x ~, mỗi nút được lấy chính xác 1 lần. Yêu cầu tính số lượng ký tự nhỏ nhất thêm vào xâu ~ t ~ để từ ~ t ~ xây dựng được xâu ~ s ~.

Dữ liệu vào

  • Dòng đầu tiên ghi 2 số nguyên ~ n, q ~ ~ ( 2 ≤ n ≤ 10^5; 1 ≤ q ≤ 10^5 ) ~
  • Dòng thứ 2 ghi ~ n ~ ký tự chữ cái in thường, trong đó ký tự thứ ~ i ~ ~ ( i = 1…n ) ~ là giá trị của nút thứ ~ i ~ trên cây, các chữ cái cách nhau 1 dấu cách.
  • ~ n -1 ~ dòng tiếp theo, mỗi dòng ghi 2 số nguyên ~ x, y ~ cho biết một cạnh trên cây.
  • Tiếp theo là ~ q ~ dòng, mỗi dòng là 1 truy vấn dạng ~ u, s ~.

Tổng độ dài của các xâu trong truy vấn không vượt quá ~ 10^6 ~

Kết quả

  • Ghi trên ~ q ~ dòng, mỗi dòng một số nguyên là câu trả lời cho truy vấn tương ứng trong input.

Ví dụ:

Input 1

8 3
o v s l v p d i
1 3
8 3
4 8
6 1
5 3
7 6
2 3
7 ifwrxl
4 eyljywnm
3 llvse 

Output 1

6
7
2 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. minhchau99 (21/40)
  2. tribinh (5/7)
  3. admin (3/4)
Trong 7 ngày
  1. caubeioi (39/63)
  2. nhatanh (25/38)
  3. minhchau99 (21/43)
Trong 30 ngày
  1. caubeioi (179/312)
  2. phamnhi (153/428)
  3. bestsoilvam (151/248)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38232

Lưu Hải Phong - 2020
[email protected]