其他分享
首页 > 其他分享> > CF1615D X(or)-mas Tree

CF1615D X(or)-mas Tree

作者:互联网

\(Link\)

题意:给定一棵 \(n\) 个点的无根树,每条边有边权。若边权为 \(-1\) 则边权暂定。

然后有 \(m\) 条限制条件,每个条件给出形式为 \((u,v,w)\),表示将 \(u\) 到 \(v\) 最短路径上的边权异或起来,用二进制写出后 \(1\) 的个数的奇偶性

然后构造一种方案,把所有边权确定下来,要求满足所有限制。

(碎碎念:赛时没看到\(1\) 的个数的奇偶性,还以为是憨憨题,然后就GG惹。。。)

\(Solution:\)

首先我们钦定 \(1\) 是根。

设 \(a_i\) 为从 \(1\) 到 \(i\) 的路径上异或起来的值。

于是对于每组 \((u,v,w)\),\(u\) 到 \(v\) 最短路径上的边权异或起来的值就等于 \(a_u \oplus a_v\)。

首先我们能发现一个性质:

\[popcount(x \oplus y) \equiv popcount(x) \oplus popcount(y)\ (\text{mod}\ 2) \]

标签:mas,边权,路径,Tree,popcount,奇偶性,异或,CF1615D,oplus
来源: https://www.cnblogs.com/jimmywang/p/15730149.html