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