HBC229893位运算?位运算!,线段树,数据结构点权题解

初见你 算法基础篇 49 0
想要检验自己的编程水平?来试试全网最全C++题库,让您在挑战中不断进步。
你有一棵 nnn 个点的树,每个点的点权可能是 {1,0,1,2}{-1, 0, 1, 2}{1,0,1,2},初始均为 000,每条边均有一个正整数边权,现在你能进行两种操作: 1. 将一个度小于 222且权为 000 的点点权变为 222,该操作没有消耗, 2. 使一个点权为 222 的点点权变为 1-11,并且让一个与其通过一条边连接,且点权 ∈{0,1}in {0, 1}∈{0,1} 的点点权 +1+1+1,该操作的消耗为对应边边权, 对于每个点,求出让其点权变为 222 的最小消耗,如果不可能做到,输出 1-11。

你有一棵 nnn 个点的树,每个点的点权可能是 {−1,0,1,2}{-1, 0, 1, 2}{−1,0,1,2},初始均为 000,每条边均有一个正整数边权。现在你能进行两种操作: 1. 将一个度小于 222且权为 000 的点点权变为 222。该操作没有消耗。 2. 使一个点权为 222 的点点权变为 −1-1−1,并且让一个与其通过一条边连接,且点权 ∈{0,1}in {0, 1}∈{0,1} 的点点权 +1+1+1。该操作的消耗为对应边边权。 对于每个点,求出让其点权变为 222 的最小消耗。如果不可能做到,输出 −1-1−1。

HBC229893位运算?位运算!,线段树,数据结构点权题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
想要在职场中立于不败之地?那就来试试全网最全C++题库,让您在练习中快速提升技能。

标签: HBC229893位运算?位运算! 线段树 数据结构点权题解