#110. Bessie's Snow Cow
Bessie's Snow Cow
Bessie's Snow Cow
题目描述
冬天来到了农场,和每年冬天开始时一样,Bessie 正在堆一个雪牛!大多数时候,Bessie 会努力让她的雕塑尽可能像一头真正的奶牛。然而,今年她灵感迸发,决定走更抽象的路线,制作一个树形的雕塑:由 个雪球 通过 根树枝连接而成,每根树枝连接一对雪球,并且任意两颗雪球之间都有唯一的一条路径。
Bessie 在其中一个雪球上加了一个鼻子,使其代表这头抽象雪牛的头部,并将其指定为 1 号雪球。为了增加视觉效果,她计划以艺术的方式把一些雪球染成不同颜色:她把旧牛奶桶装满彩色染料并泼洒到雕塑上。颜色用 范围内的整数表示,并且 Bessie 拥有每一种颜色的染料桶的无限供应。
当 Bessie 用一桶染料泼洒一个雪球时,该雪球的整棵子树中的所有雪球也会被同样的颜色泼到(若雪球 在雪球 的子树中,表示在从 到头部雪球的路径上包含 )。通过小心地泼洒每种颜色,Bessie 确保一个雪球被泼到的所有颜色都会保持可见。例如,如果一个雪球已有颜色 ,Bessie 再用颜色 泼它,那么该雪球将拥有颜色 。
在进行了若干次泼洒之后,Bessie 还可能想知道雪牛的某一部分有多“多彩”。雪球 的“多彩度”(colorfulness)等于不同颜色 的数量,使得雪球 被染成颜色 。如果 Bessie 询问你关于雪球 ,你需要回答:雪球 的子树中所有雪球的多彩度之和。
请帮助 Bessie 在某些时刻求出她的雪牛的多彩程度。
输入格式
第一行包含 以及查询数量 ()。 接下来的 行每行包含两个用空格分隔的整数 和 ,描述连接雪球 与雪球 的一根树枝()。 最后的 行每行包含一个查询。形如 1 x c 的查询表示 Bessie 将颜色为 的染料泼在雪球 上,使雪球 的子树中所有雪球都被染上颜色 。形如 2 x 的查询表示询问雪球 的子树内所有雪球的多彩度之和。当然, 且 。
输出格式
对于每个类型为 2 的查询,输出对应子树中多彩度之和。 注意你应使用 64 位整数以避免溢出。
5 18
1 2
1 3
3 4
3 5
1 4 1
2 1
2 2
2 3
2 4
2 5
1 5 1
2 1
2 2
2 3
2 4
2 5
1 1 1
2 1
2 2
2 3
2 4
2 5
1
0
1
1
0
2
0
2
1
1
5
1
3
1
1
提示
SCORING: 的定义见下文。 测试点 2-3 满足 测试点 4-6 满足 第一次类型为 1 的查询后,雪球 4 被染上颜色 1。 第二次类型为 1 的查询后,雪球 4 和 5 被染上颜色 1。 第三次类型为 1 的查询后,所有雪球都被染上颜色 1。 题目鸣谢:Michael Cao 和 Benjamin Qi
标签: USACO|2019|Platinum
来源
USACO|2019|Platinum