trang chủ / đề bài / voi24_fbuy

Thu mua nông sản

Đề bài

Mô tả

Quốc gia Delta có nền nông nghiệp hàng đầu thế giới. Năm nay, nhờ ứng dụng công nghệ thông tin sâu rộng trong sản xuất nông nghiệp, nông dân quốc gia Delta đã được mùa lớn. Để chúc mừng thành công lớn của bà con cũng như đẩy mạnh việc xuất khẩu, chính phủ quyết định bố trí các xe thu mua nông sản từ khắp mọi nơi trên cả nước.

Trong quốc gia có N ngôi làng được đánh số từ 1 đến N. Mạng lưới giao thông tại đây gồm N−1 con đường hai chiều, mỗi con đường nối trực tiếp hai ngôi làng nào đó. Các con đường này bảo đảm sự liên thông toàn quốc. Nói cách khác, từ một ngôi làng bất kỳ có thể đi tới tất cả các ngôi làng còn lại thông qua một hoặc nhiều con đường. Người dân tại quốc gia Delta có khả năng sản xuất được K loại nông sản khác nhau, được đánh số từ 1 đến K. Năm nay, người dân tại ngôi làng thứ i (1≤i≤N) sản xuất loại nông sản thứ Ai.

Chính phủ quốc gia Delta sẽ bố trí N·(N−1)2 xe tải đi thu mua nông sản. Cụ thể, với mỗi cặp số nguyên (u,v) sao cho 1≤u<v≤N, có một xe tải xuất phát từ ngôi làng thứ u, đi qua một hoặc nhiều con đường rồi dừng lại ở ngôi làng thứ v. Biết rằng, xe tải luôn chọn đi theo tuyến đường qua ít con đường nhất có thể, và khi tới bất kỳ một ngôi làng nào (bao gồm cả hai ngôi làng thứ u và thứ v), xe tải sẽ thu mua 1 tấn nông sản được sản xuất tại ngôi làng đó. Nhờ mùa màng bội thu, tất cả các ngôi làng đều có đủ nông sản cho mọi xe đi qua thu mua.

Việc vận chuyển nông sản luôn phát sinh chi phí. Tùy theo đặc tính, chi phí vận chuyển từng loại nông sản có thể khác nhau. Theo tính toán của chính phủ, nếu trong toàn bộ hành trình, một xe tải thu mua được khối lượng nông sản các loại thứ 1,2,…,K tương ứng là W1,W2,…,WK tấn, chi phí vận chuyển của xe này là C1·W12+C2·W22+…+CK·WK2, trong đó C1,C2,…,CK tương ứng là hệ số chi phí vận chuyển của K loại nông sản thứ 1,2,…,K. Chính phủ sẽ tài trợ toàn bộ chi phí vận chuyển, nên cần biết tổng chi phí của tất cả N·(N−1)2 xe tải này.

Ngoài ra, với niềm tin rằng nền nông nghiệp còn phát triển mạnh trong nhiều năm về sau, chính phủ muốn dự trù chi phí vận chuyển nông sản cho những năm tiếp theo. Theo kế hoạch canh tác trong Q năm tiếp theo, vào năm thứ j (1≤j≤Q), ngôi làng thứ Tj sẽ chuyển qua sản xuất loại nông sản thứ Bj, trong khi N−1 ngôi làng còn lại sẽ tiếp tục canh tác loại nông sản như năm thứ j−1 (năm nay được coi là năm thứ 0). Với mỗi năm, chính phủ muốn biết tổng chi phí vận chuyển nông sản nếu tiếp tục bố trí các xe tải thu mua như phương án ở trên.

Yêu cầu: Hãy viết chương trình tính tổng chi phí vận chuyển nông sản của chính phủ trong năm nay và trong Q năm tiếp theo, dựa trên kế hoạch thay đổi canh tác.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên N, K và Q lần lượt là số ngôi làng của quốc gia Delta, số loại nông sản được sản xuất tại đây và số năm trong kế hoạch canh tác (1≤K≤20, 1≤N,Q≤2·105).
  • Dòng thứ hai chứa N số nguyên A1,A2,…,AN thể hiện loại nông sản chuyên được sản xuất tại các ngôi làng trong năm nay (1≤Ai≤K, ∀i=1,2,…,N).
  • Dòng thứ ba chứa K số nguyên C1,C2,…,CK là hệ số chi phí vận chuyển của các loại nông sản (1≤Ci≤109, ∀i=1,2,…,K).
  • Mỗi dòng trong số N−1 dòng tiếp theo chứa hai số nguyên x và y cho biết có một con đường hai chiều nối ngôi làng thứ x và ngôi làng thứ y.
  • Dòng thứ j trong số Q dòng cuối cùng chứa hai số nguyên Tj và Bj với ý nghĩa: vào năm thứ j trong Q năm tiếp theo, ngôi làng thứ Tj sẽ chuyển sang sản xuất loại nông sản thứ Bj (1≤Tj≤N; 1≤Bj≤K).

Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

  • Dòng đầu chứa một số nguyên là phần dư của tổng chi phí vận chuyển nông sản trong năm nay trong phép chia cho 998244353.
  • Dòng thứ j trong số Q dòng còn lại chứa một số nguyên là phần dư của tổng chi phí vận chuyển nông sản trong năm thứ j trong phép chia cho 998244353.

Ràng buộc

  • 1≤N,Q≤2·105; 1≤K≤20.
  • 1≤Ai≤K; 1≤Ci≤109.
  • Các con đường tạo thành một cây (liên thông, N−1 con đường).
  • 1≤Tj≤N; 1≤Bj≤K.

Subtasks

  • Subtask 1 (7,5% số điểm): N≤30 và Q≤800.
  • Subtask 2 (12,5% số điểm): N≤100 và Q≤800.
  • Subtask 3 (10% số điểm): N≤2000 và Q≤800.
  • Subtask 4 (15% số điểm): N≤5000 và Q≤8000.
  • Subtask 5 (17,5% số điểm): Luôn tồn tại một con đường nối ngôi làng thứ i và ngôi làng thứ ⌊i2⌋, ∀i=2,3,…,N (⌊i2⌋ là số nguyên lớn nhất không vượt quá i/2).
  • Subtask 6 (22,5% số điểm): Luôn tồn tại một con đường nối ngôi làng thứ i và ngôi làng thứ i−1, ∀i=2,3,…,N.
  • Subtask 7 (15% số điểm): Không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
5 3 2
1 1 1 2 3
2 3 5
1 2
2 3
2 4
1 5
2 3
3 2
120
137
139
Năm nay các làng 1,2,3,4,5 sản xuất loại 1,1,1,2,3. Mười xe tải: 1→2 thu (2,0,0) tấn, chi phí 2·22=8; 1→2→3: (3,0,0), 18; 1→2→4: (2,1,0), 11; 1→5: (1,0,1), 7; 2→3: (2,0,0), 8; 2→4: (1,1,0), 5; 2→1→5: (2,0,1), 13; 3→2→4: (2,1,0), 11; 3→2→1→5: (3,0,1), 23; 4→2→1→5: (2,1,1), 16. Tổng 120. Năm thứ 1 làng 2 chuyển sang loại 3 (các làng lần lượt sản xuất 1,3,1,2,3), tổng 7+13+10+7+7+8+22+10+28+25=137. Năm thứ 2 làng 3 chuyển tiếp sang loại 2 (các làng lần lượt sản xuất 1,3,2,2,3), tổng 7+10+10+7+8+8+22+17+25+25=139.
4 2 3
1 2 1 1
1 4
1 2
2 3
3 4
2 1
4 2
1 1
43
46
43
43
Các làng nằm trên đường thẳng 1−2−3−4. Năm thứ 1 làng 2 chuyển sang loại 1 nên cả bốn làng cùng loại 1. Năm thứ 2 làng 4 chuyển sang loại 2. Năm thứ 3 làng 1 vẫn giữ loại 1 nên tổng không đổi.

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