#loj3563. 「BalticOI 2021 Day2」The Xana coup

    ID: 10570 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>图论DPBalticOI2021动态规划 DP树形 DP提高+/省选−

「BalticOI 2021 Day2」The Xana coup

[AdditionalFile3563.zip](file://AdditionalFile3563.zip?type=additional_file)

#3563. 「BalticOI 2021 Day2」The Xana coup

标签: 传统 | 时间限制: 1000 ms | 内存限制: 512 MiB |

题目描述

题目译自 BalticOI 2021 Day2「The Xana coup」,译者 Shuchong

给定一棵点数为 NN 个树,第 ii 个点有点权 aia_iai{0,1}a_i \in \{0,1\}

你可以进行切换操作:

  • 对点 ii 进行切换操作会使得点 ii 及与其 直接相连 的点的点权取反。

其中直接相连指两点之间恰好只有一条边。

求至少需要多少次切换操作才能使得所有点的点权变为 00

输入格式

第一行一个整数 NN 代表树的点数。

接下来 N1N-1 行每行两个整数代表树的一条边。

N+1N+1NN 个整数 aia_i 代表第 ii 个点的点权。

输出格式

如果有解,一行一个整数代表答案。

如果无解,输出 impossible

样例 1

输入

5
1 2
1 3
2 4
2 5
0 1 0 1 1

输出

4

QQ图片20210503174202.png

ai=0a_i=0 为黑色,ai=1a_i=1 为白色。

可以对点 4,5,3,14,5,3,1 进行切换操作使得所有点的点权为 00

样例 2

输入

5
1 2
2 3
3 4
4 5
0 1 1 1 1

输出

impossible

数据范围与提示

  • Subtask 1(5 pts):N20N \le 20
  • Subtask 2(15 pts):N40N \le 40
  • Subtask 3(10 pts):如果点 uu 和点 vv 满足 uv=1|u-v|=1,那么他们有边相连。
  • Subtask 4(40 pts):一个点最多与 33 个点相连。
  • Subtask 5(30 pts):无特殊限制。

对于 100%100\% 的数据,3N1053 \le N \le 10^5