아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Деревянный замок

면접 대비

시간 제한2초메모리 제한1024 MB

요약
각 정점이 검은색 또는 흰색으로 칠해진 트리에서 정점 하나를 다시 칠하거나 같은 색 연결 성분 전체를 제거하는 연산을 사용해 모든 정점을 없애는 최소 연산 횟수를 구한다.
난이도

보통10점 중 5점

유형
트리, DFS, 그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

Чтобы попасть в заброшенный дом, в котором прячется Оно, ребятам нужно открыть дверь с хитроумным замком. Этот замок представляет собой дерево из nn вершин, каждая из которых покрашена в белый или черный цвет. Чтобы открыть замок, нужно уничтожить все вершины этого дерева. Для этого ребята могут выполнять две операции:

  1. Перекрасить еще не уничтоженную вершину из белого в черный, или из черного в белый.
  2. Запустить цепную реакцию, уничтожающую группу связных вершин одного цвета. Формально, ребята могут выбрать любую еще не уничтоженную вершину цвета cc, уничтожить ее и все вершины цвета cc, достижимые из нее по еще не уничтоженным вершинам цвета cc.

Разумеется, ребятам хочется поскорее попасть в дом, поэтому им интересно узнать, какое минимальное количество операций им потребуется, чтобы открыть замок.

입력

В первый строке дано целое число nn --- количество вершин в графе (1≤n≤200,0001 \le n \le 200\\,000). В следующей строке дана строка ss длины nn из символов 00 и 11. Если ii-й символ строки ss равен 00, то ii-я вершина покрашена в белый цвет, иначе --- в черный. В следующих n−1n - 1 строках дано по два целых числа a_ia\_i и b_ib\_i --- ребра дерева (1≤a_i,b_i≤n1 \le a\_i, b\_i \le n).

Гарантируется, что ребра образуют дерево.

출력

Выведите одно число --- минимальное количество операций, необходимое, чтобы открыть замок.

힌트

В первом тесте замок можно открыть за два действия следующим образом:

  1. Перекрасить вершину 11 в белый цвет.
  2. Запустить цепную реакцию из вершины 11, она уничтожит все вершины.

예제1

  1. 예제 1

    입력
    4
    1000
    1 2
    1 3
    1 4
    
    예상 출력
    2