trang chủ / đề bài / voi13_comnet

Mạng truyền thông

Đề bài

Mô tả

Tổng công ty Z gồm N công ty con, đánh số từ 1 tới N. Mỗi công ty con có một máy chủ. Để đảm bảo truyền tin giữa các công ty, Z thuê M đường truyền tin để kết nối N máy chủ thành một mạng máy tính của Tổng công ty. Không có 2 đường truyền nối cùng 1 cặp máy chủ. Đường truyền i nối máy chủ của 2 công ty ui, vi có chi phí là wi. Mạng máy tính có tính thông suốt, nghĩa là từ một máy chủ có thể truyền tin đến một máy chủ bất kì khác bằng đường truyền trực tiếp hoặc qua nhiều đường trung gian.

Một đường truyền gọi là không tiềm năng nếu như: một mặt, việc loại bỏ đường truyền này không làm mất tính thông suốt; mặt khác, nó phải có tính không tiềm năng, nghĩa là không thuộc bất cứ mạng con thông suốt gồm N máy chủ và N−1 đường truyền tin với tổng chi phí thuê bao nhỏ nhất nào của mạng máy tính.

Trong thời gian tới, chi phí thuê bao của một số đường truyền tin thay đổi. Tổng công ty muốn xác định với chi phí mới thì đường truyền thứ k có là đường không tiềm năng hay không để xem xét chấm dứt việc thuê đường truyền này.

Dữ liệu vào

  • Dòng đầu là T: số testcase. Tiếp theo là T nhóm dòng, mỗi nhóm cho thông tin về một testcase.
  • Dòng thứ nhất của mỗi nhóm gồm 3 số nguyên dương N, M, Q (Q≤30).
  • Dòng thứ i trong M dòng tiếp theo chứa 3 số nguyên dương ui, vi, wi (ui≠vi, wi<109).
  • Dòng thứ j trong Q dòng tiếp theo mô tả giả định thứ j:
    • Số đầu tiên là chỉ số kj của đường truyền tin cần xem xét.
    • Tiếp theo là sj (sj≤100) cho biết số lượng đường truyền có chi phí thuê mới.
    • Cuối cùng là sj cặp số nguyên dương tp, cp cho biết đường truyền thứ tp có chi phí thuê mới là cp (cp<109).

Các giả định độc lập với nhau: mỗi giả định chỉ thay đổi chi phí của các đường truyền được liệt kê trong nó, so với chi phí ban đầu. Các chỉ số tp trong một giả định đôi một khác nhau.

Dữ liệu ra

Gồm T nhóm dòng, mỗi nhóm gồm Q dòng. Mỗi dòng là câu trả lời cho giả định tương ứng trong input. Ghi YES nếu câu trả lời là khẳng định và NO trong trường hợp ngược lại.

Ràng buộc

  • 1≤T≤10; trong một test, tổng các N không vượt quá 105 và tổng các M không vượt quá 106.
  • 2≤N≤105; N−1≤M≤106; mạng ban đầu thông suốt.
  • 1≤Q≤30; 0≤sj≤100; 1≤kj,tp≤M.
  • 1≤wi,cp<109.

Subtasks

  • Subtask 1 (30% số test): N≤100.
  • Subtask 2 (30% số test): N≤104 và M≤105.
  • Subtask 3 (40% số test): N≤105 và M≤106.

Mỗi subtask gồm nhiều test, mỗi test được chấm điểm riêng.

Ví dụ

Input Output Giải thích
1
3 3 2
1 2 1
1 3 2
2 3 3
3 2 2 4 3 4
1 1 1 4
NO
YES
Giả định 1: chi phí là 1,4,4; đường truyền 3 (nối 2, 3, chi phí 4) thuộc cây khung nhỏ nhất gồm đường 1 và 3. Giả định 2: chi phí là 4,2,3; cây khung nhỏ nhất duy nhất gồm đường 2 và 3, không chứa đường 1.
1
4 5 4
1 2 5
2 3 5
1 3 5
3 4 1
1 4 7
5 0
3 0
3 2 1 4 2 4
4 1 4 9
YES
NO
YES
YES
Giả định 2: các đường 1, 2, 3 cùng chi phí 5 nên có cây khung nhỏ nhất chứa đường 3. Giả định 3: đường 1, 2 còn chi phí 4 nên đường 3 không thuộc cây khung nhỏ nhất nào.

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