Cây cân bằng

Đề bài

Mô tả

Cho cây N nút, mỗi nút được gán nhãn ( hoặc ). Tìm độ lồng tối đa của bất kỳ đường đi trên cây nào tạo thành chuỗi ngoặc hợp lệ.

Độ lồng của chuỗi hợp lệ = giá trị lớn nhất của tổng tiền tố (với ( = +1, ) = -1).

Dữ liệu vào

  • Dòng 1: Số nguyên N.
  • N−1 dòng tiếp: pi+1 — cha của nút i+1.
  • N dòng tiếp: Nhãn của nút 1,2,…,N (mỗi dòng một ký tự ( hoặc )).

Dữ liệu ra

Một số nguyên — độ lồng tối đa.

Ràng buộc

  • 1≤N≤40000

Ví dụ

Input Output Giải thích
15
1
2
1
4
4
6
7
5
9
9
11
12
13
14
(
)
)
(
)
)
(
)
(
(
(
)
)
)
(
3 Đường đi tạo chuỗi ((())) có độ lồng 3.

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