trang chủ / đề bài / dhv_tst_26_d

Mạng cấp nước

Đề bài

Mô tả

Hệ thống cấp nước của thành phố gồm N nút (được đánh số từ 1 đến N) và N−1 đường ống nối giữa các nút. Hệ thống này đảm bảo luôn có duy nhất một đường đi giữa hai nút bất kỳ (cấu trúc cây). Mỗi đường ống nối hai nút có hai thông số:

  • Độ dài đường ống W;
  • Mã chất liệu C (là một số nguyên dương).

Thành phố cần đánh giá mức độ an toàn của việc vận chuyển nước giữa các trạm. Bạn nhận được Q truy vấn, mỗi truy vấn gồm 4 số nguyên (u,v,K,y) với ý nghĩa:

  • Kiểm tra tuyến đường truyền nước đi từ nút u đến nút v;
  • Chất liệu tiêu chuẩn ưu tiên là y;
  • Ngưỡng chịu lỗi tối đa là K.

Yêu cầu: Với mỗi truy vấn (u,v,K,y), gọi S là số lượng đường ống trên tuyến đường từ u đến v có chất liệu khác với chất liệu ưu tiên y:

  • Nếu S≤K, hãy in ra tổng độ dài của tất cả các đường ống trên tuyến đường từ u đến v.
  • Nếu S>K, in ra −1.

Dữ liệu vào

  • Dòng 1 chứa hai số nguyên N và Q (1≤N,Q≤105) là số nút và số lượng truy vấn;
  • N−1 dòng tiếp theo, mỗi dòng thứ i chứa 4 số nguyên ui,vi,Wi,Ci mô tả một đường ống nối giữa nút ui và vi, có độ dài Wi và mã chất liệu Ci (1≤ui,vi≤N; 1≤Wi≤109; 1≤Ci≤105);
  • Q dòng tiếp theo, mỗi dòng chứa 4 số nguyên u,v,K,y mô tả một truy vấn, trong đó 1≤u,v≤N; 0≤K≤N; 1≤y≤105.

Dữ liệu ra

Gồm Q dòng, mỗi dòng ghi một số nguyên là kết quả tương ứng với truy vấn theo thứ tự xuất hiện trong dữ liệu vào.

Ràng buộc

  • 1≤N,Q≤105
  • 1≤Wi≤109, 1≤Ci≤105
  • 0≤K≤N, 1≤y≤105

Subtasks

  • Subtask 1 (30% số điểm): N,Q≤1000.
  • Subtask 2 (30% số điểm): N,Q≤105; cây có dạng một đường thẳng (bậc của mỗi đỉnh không quá 2).
  • Subtask 3 (40% số điểm): N,Q≤105; cây có cấu trúc bất kỳ.

Ví dụ

Input Output Giải thích
4 3
1 2 5 1
2 3 3 2
3 4 4 1
1 4 1 1
1 4 0 1
1 4 2 3
12
-1
-1
Tuyến từ 1 đến 4 đi qua 3 đoạn ống: (1,2) chất liệu 1, (2,3) chất liệu 2, (3,4) chất liệu 1; tổng độ dài 5+3+4=12. Truy vấn 1: y=1, K=1, chỉ đoạn (2,3) khác chất liệu 1, S=1≤1, in 12. Truy vấn 2: K=0, S=1>0, in −1. Truy vấn 3: y=3, cả 3 đoạn đều khác chất liệu 3, S=3>2, in −1.
5 5
1 2 4 1
1 3 2 2
3 4 7 2
3 5 1 1
4 5 1 2
4 5 0 2
2 4 1 2
5 5 0 7
2 5 1 1
8
-1
13
0
7
Ví dụ thêm (không có trong đề gốc). Tuyến 4→3→5 có một đoạn khác chất liệu 2 (đoạn (3,5)), tổng độ dài 8. Tuyến từ 5 đến 5 không có đoạn ống nào, S=0, tổng độ dài 0.

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