trang chủ / đề bài / tht23_ck_doval

Giá trị vượt trội

Đề bài

Mô tả

Cho một cây gồm n đỉnh với đỉnh 1 làm gốc. Mỗi 1≤i≤n có một số nguyên ci gọi là màu của đỉnh i. Bạn cần xử lý q truy vấn thuộc một trong hai dạng sau:

  1. "1 u x": Thay đổi màu của đỉnh u thành x, nghĩa là cu=x;
  2. "2 k u1 u2…uk": Xét tập hợp gồm màu của các đỉnh nằm trong các cây con u1,u2,…,uk (các đỉnh xuất hiện nhiều lần được tính nhiều lần). Gọi số lượng phần tử của tập là S, tìm màu vượt trội trong tập này, cụ thể là màu xuất hiện nhiều hơn S/2 lần.

Cây con u gồm đỉnh u và mọi hậu duệ của u (với gốc là đỉnh 1). Nếu một đỉnh nằm trong m cây con trong số u1,u2,…,uk (chẳng hạn khi một đỉnh uj được liệt kê nhiều lần, hoặc cây con này nằm trong cây con kia) thì màu của nó được đếm m lần, và S là tổng kích thước của k cây con. Một màu xuất hiện đúng S/2 lần không phải là màu vượt trội.

Dữ liệu vào

  • Dòng đầu gồm hai số nguyên n và q (1≤n,q≤106);
  • Dòng thứ hai gồm n số nguyên dương c1,c2,…,cn (1≤ci≤n);
  • Mỗi dòng trong n−1 dòng tiếp theo gồm hai số nguyên u và v (1≤u,v≤n) thể hiện có cạnh nối giữa u và v trên cây.
  • Mỗi dòng trong q dòng tiếp theo là một truy vấn thuộc một trong hai dạng đã mô tả: "1 u x" với 1≤u,x≤n, hoặc "2 k u1 u2…uk" với k≥1 và 1≤uj≤n.

Dữ liệu đảm bảo tổng các giá trị k của các truy vấn loại 2 không vượt quá 106, và có ít nhất một truy vấn loại 2.

Dữ liệu ra

Đối với mỗi truy vấn loại 2, ghi ra màu vượt trội hoặc −1 nếu không tồn tại, mỗi kết quả trên một dòng.

Ràng buộc

  • 1≤n,q≤106.
  • 1≤ci≤n; trong truy vấn loại 1: 1≤u,x≤n.
  • Gọi Sk là tổng k qua các truy vấn loại 2: Sk≤106.

Subtasks

Gọi Sk là tổng k qua các truy vấn loại 2.

  • Subtask 1 (10% số điểm): n,Sk≤500; ci≤10.
  • Subtask 2 (10% số điểm): n,Sk≤5000; ci≤10.
  • Subtask 3 (20% số điểm): n,Sk≤100000; ci≤10.
  • Subtask 4 (20% số điểm): n,Sk≤100000.
  • Subtask 5 (20% số điểm): Không có truy vấn loại 1.
  • Subtask 6 (20% số điểm): Không có điều kiện gì thêm.

Ở các subtask có điều kiện ci≤10, mọi màu x trong truy vấn loại 1 cũng không vượt quá 10.

Ví dụ

Input Output Giải thích
5 3
1 2 3 1 2
1 2
2 3
3 4
4 5
2 2 1 2
1 3 2
2 2 1 2
-1
2
Cây là đường đi 1−2−3−4−5. Truy vấn đầu: cây con 1 có màu {1,2,3,1,2}, cây con 2 có màu {2,3,1,2}, S=9; màu 2 xuất hiện 4 lần, màu 1 xuất hiện 3 lần, không màu nào quá 4.5 lần. Sau khi c3=2, màu 2 xuất hiện 3+3=6>4.5 lần.
4 4
1 2 2 1
1 2
1 3
3 4
2 2 3 3
2 2 1 2
1 2 1
2 3 1 4 4
-1
2
1
Truy vấn 1: cây con 3 (đỉnh 3,4) được tính hai lần, S=4, màu 1 và màu 2 cùng xuất hiện đúng 2=S/2 lần nên không có màu vượt trội. Truy vấn 2: {1,2,2,1} và {2}, S=5, màu 2 xuất hiện 3 lần. Sau khi c2=1: cây con 1 có màu {1,1,2,1}, cộng hai lần cây con 4 (màu 1), S=6, màu 1 xuất hiện 5 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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0