构造题.
当 $n=2^k$ 时,显然无解,因为那两个权值为 $n$ 的点路径上权值异或和一定会 $<n$ .
否则,若 $n$ 为奇数, $n$ 至少为 $3$ ,可以做如下构造:
即,将两组 $1,2,3$ 串在一起,从 $4$ 开始,将 $k,k+1$ 串在一起,分别正着,反着挂在中间那个 $1$ 下面.
容易验证这样做是合法的.
若 $n$ 为偶数,只需要先构造出 $n-1$ 的解,再将两个 $n$ 挂上去.
和中间那个 $1$ 直接相连的点中,包含了 $2\sim n-1$ 的所有权值.
当 $n$ 不为 $2$ 的幂的时候,总能在 $2\sim n-1 $ 中选出 $2$ 个数 $x,y$ ,使得 $x\oplus y\oplus 1=n$ ,将这两个 $n$ 挂在上面即可.
1 | //%std |