CF2006A.Iris and Game on the Tree

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一棵根为 11,每个点有 00 或 11 的点权的有根树,对于所有叶子定义权值为:取出根到它的路径上所有点的点权形成的 0101 串,其中 1010 子串的出现次数减去 0101 子串的出现次数。不认为根为叶子。

如图,绿点的点权为 11,白点的点权为 00,根到 55 的串为 1011010110,其中有 22 个 1010,11 个 0101,故 55 的权值为 11。

一棵树的分数被定义为:具有非零权值的叶子的数量。

有些点权尚未确定,A 与 B 在玩游戏,她们轮流将一个未确定点的点权改为 00 或 11。先手的 A 希望最大化树的分数,后手的 B 希望最小化之,二人均采取最优策略,求最后树的分数。

输入格式

第一行输入一个数 tt 表示数据范围。

对于每组数据,第一行输入一个数 nn 表示树的点数,后面 n−1n-1 行每行两个数字代表树的一条边。最后一行有一个长度为 nn 的字符串 ss,仅包含 ?,0 和 1,若第 ii 位为 ? 则说明点 ii 的权值尚未确定,否则说明点 ii 的权值为 sis_i。

输出格式

对于每组数据,输出一行一个数,表示最后树的分数。

输入输出样例

  • 输入#1

    6
    4
    1 2
    1 3
    4 1
    0101
    4
    1 2
    3 2
    2 4
    ???0
    5
    1 2
    1 3
    2 4
    2 5
    ?1?01
    6
    1 2
    2 3
    3 4
    5 3
    3 6
    ?0????
    5
    1 2
    1 3
    1 4
    1 5
    11?1?
    2
    2 1
    ??

    输出#1

    2
    1
    1
    2
    1
    0

说明/提示

1≤t≤5⋅1041 \leq t \leq 5 \cdot 10^4,2≤∑n≤2⋅1052 \leq \sum n \leq 2 \cdot 10^5。

translated by uid 443664

输入解题思路,AI测评打分。不知道怎么写?

首页