求助一道CF gym图论题
  • 板块学术版
  • 楼主南阳刘子骥
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/10/15 11:24
  • 上次更新2023/10/27 07:28:37
查看原帖
求助一道CF gym图论题
196903
南阳刘子骥楼主2022/10/15 11:24

题意简述就是给定 nn 个点 mm 条边(n105n \leq 10^5m2×105m \leq 2 \times 10^5)。
点有点权 xix_i,边有边权 wiw_i,其中0w2300 \leq w \leq 2^{30}。边权给出,但是点权未知。
对于每一条边 (u,v,w)(u,v,w),我们需要满足 xuxv=wx_u \oplus x_v = w
最小化 xi\sum x_i 并输出,或者判断没有合法的构造方案。

我的做法是在每一个连通块中随便找一个点当做起点开始DFS一遍,然后将起点的 xx 设成0,根据树边来不断递推出来整个连通块内的点的点权,然后用非树边来检查构造出来的点权序列是否满足要求。

之后对每一个起点枚举其二进制的每一位,看将该位更改为1是否可以减小总和,如果可以的话就减小。

然后就WA了。

机房大佬的做法是在求总和之前再检查,这样就过了。

两个不同的做法可以看下面的两个剪贴板:
WA\color{#e74c3c}\boxed{\rm{WA}} AC\color{#52c41a}\boxed{\rm{AC}}

2022/10/15 11:24
加载中...