Dạo chơi đồng cỏ

Xem dạng PDF

Gửi bài giải


Điểm: 0,13 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
USACO October 2008 - Qualifying Round
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Có ~N~ con bò ~(1 \le N \le 1000)~, để thuận tiện ta đánh số từ ~1 \rightarrow N~, đang ăn cỏ trên ~N~ đồng cỏ, để thuận tiện ta cũng đánh số các đồng cỏ từ ~1 \rightarrow N~. Biết rằng con bò ~i~ đang ăn cỏ trên đồng cỏ ~i~.

Một vài cặp đồng cỏ được nối với nhau bởi ~1~ trong ~N-1~ con đường ~2~ chiều mà các con bò có thể đi qua. Con đường ~i~ nối ~2~ đồng cỏ ~A_i~ và ~B_i~ ~(1 \le A_i \le N~; ~1 \le B_i \le N)~ và có độ dài là ~L_i~ ~(1 \le L_i \le 10000)~.

Các con đường được thiết kế sao cho với ~2~ đồng cỏ bất kỳ đều có duy nhất ~1~ đường đi giữa chúng. Như vậy các con đường này đã hình thành ~1~ cấu trúc cây.

Các chú bò rất có tinh thần tập thể và muốn được thăm thường xuyên. Vì vậy lũ bò muốn bạn giúp chúng tính toán độ dài đường đi giữa ~Q~ ~(1 \le Q \le 1000)~ cặp đồng cỏ (mỗi cặp được mô tả là ~2~ số nguyên ~p_1, p_2~ ~(1 \le p_1 \le N; 1 \le p_2 \le N).~

Input

  • Dòng ~1~: ~2~ số nguyên cách nhau bởi dấu cách: ~N~ và ~Q~
  • Dòng ~2~...~N~: Dòng ~i+1~ chứa ~3~ số nguyên cách nhau bởi dấu cách: ~A_i, B_i~ và ~L_i~
  • Dòng ~N+1~...~N+Q~: Mỗi dòng chứa ~2~ số nguyên khác nhau cách nhau bởi dấu cách mô tả ~1~ yêu cầu tính toán độ dài đường đi giữa ~2~ đồng cỏ mà lũ bò muốn đi thăm qua lại ~p_1~ và ~p_2~.

Output

  • Dòng ~1~...~Q~: Dòng ~i~ chứa độ dài đường đi giữa ~2~ đồng cỏ ở yêu cầu thứ ~i~.

Sample Input

4 2
2 1 2
4 3 2
1 4 3
1 2
3 2

Sample Output

2
7

Note

Yêu cầu ~1~: Con đường giữa đồng cỏ ~1~ và ~2~ có độ dài là ~2~.

Yêu cầu ~2~: Đi qua con đường nối đồng cỏ ~3~ và ~4~, rồi tiếp tục đi qua con đường nối đồng cỏ ~4~ và ~1~, và cuối cùng là con đường nối đồng cỏ ~1~ và ~2~, độ dài tổng cộng là ~7~.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 1
    dex111222333444555  đã bình luận lúc 9, Tháng 3, 2025, 2:15

    Trong đây có nhiều dạng bài cơ bản về LCA, các bạn nên vào đây tham khảo sẽ trước sẽ tốt hơn giải bài này trước. https://wiki.vnoi.info/vi/algo/data-structures/lca-binlift


  • 1
    blobbyghost01  đã bình luận lúc 20, Tháng 1, 2025, 14:26 chỉnh sửa

    Bạn nào bị segmentation fault test cuối thì lưu ý giới hạn bài này là N<=1004 chứ ko phải 1000 đâu đề trôn vl


  • 1
    anhquan04  đã bình luận lúc 2, Tháng 1, 2025, 11:32 chỉnh sửa

    hi mn


  • 2
    so100000  đã bình luận lúc 2, Tháng 12, 2024, 1:38

    nên đọc qua phần lca trước khi làm bai này nha


  • 0
    HaoHaoChuaCay  đã bình luận lúc 7, Tháng 9, 2024, 16:47

    mọi người cho mình hỏi là sao mình dùng thuật toán lca logn thì lại sai test cuối ạ, hoặc ai có test cuối thì cho mình xin xem sai ở đâu ạ


  • -16
    hoanglongnguyen9002  đã bình luận lúc 29, Tháng 8, 2024, 3:55 chỉnh sửa

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -17
    hoanglongnguyen9002  đã bình luận lúc 29, Tháng 8, 2024, 3:55 chỉnh sửa

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -6
    levanhuyluc  đã bình luận lúc 23, Tháng 8, 2024, 16:19

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -21
    khanhlani  đã bình luận lúc 2, Tháng 8, 2024, 1:49

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • -15
      hieuz08  đã bình luận lúc 2, Tháng 8, 2024, 8:39

      Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


      • -14
        khanhlani  đã bình luận lúc 2, Tháng 8, 2024, 8:53

        Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


        • 0
          longhoangho  đã bình luận lúc 17, Tháng 3, 2025, 11:37

          Khánh nguyên là của mọi người


  • 7
    tboros2  đã bình luận lúc 13, Tháng 7, 2023, 7:10

    LCA: https://vnoi.info/wiki/algo/data-structures/lca-binlift.md#b%C3%A0i-to%C3%A1n-1-1


  • -72
    MrMinhFly  đã bình luận lúc 13, Tháng 5, 2021, 1:28

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.