Trồng Thuốc

Đề bài

Mô tả

Bạn đang chơi một trò chơi có N phòng được nối với nhau bằng N1 hành lang, tạo thành một cây. Bạn cần hoàn thành các chuyến khám phá bắt đầu từ phòng 1 để thăm tất cả các phòng ít nhất một lần.

Trước mỗi chuyến khám phá, một lọ thuốc xuất hiện tại một phòng cụ thể - bạn chỉ có thể thu thập nó nếu bạn đến phòng đó trong chuyến khám phá đó.

Lọ thuốc thứ i xuất hiện tại phòng pi trước chuyến khám phá thứ i. Hãy tìm số thuốc tối đa có thể thu thập trong khi hoàn thành bản đồ với số chuyến khám phá tối thiểu.

Dữ liệu vào

  • Dòng đầu tiên: số nguyên N (2N105).
  • Dòng thứ hai: N số nguyên p1,p2,,pN (1piN) - vị trí thuốc.
  • N1 dòng tiếp theo: mỗi dòng chứa hai số nguyên ab - một cạnh trong cây.

Dữ liệu ra

In một số nguyên duy nhất - số thuốc tối đa có thể thu thập.

Ràng buộc

  • 2N105

Ví dụ

Input Output Giải thích
5
5 4 3 2 1
1 2
1 3
3 4
3 5
2 Cần tối thiểu 3 chuyến. Chuyến 1: 1-3-5 (lấy thuốc ở 5). Chuyến 2: 1-3-4 (lấy thuốc ở 4). Chuyến 3: 1-2 (hoàn thành bả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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0