atcoder#AGC035C. [AGC035C] Skolem XOR Tree

[AGC035C] Skolem XOR Tree

题目描述

整数 N N が与えられます。1 1 から 2N 2N までの番号がついた 2N 2N 個の頂点を持つ木であって次の条件を満たすものが存在するか判定し、存在するならばその一例を示してください。

  • 1 1 以上 N N 以下の各整数 i i について、頂点 i, N+i i,\ N+i の重みが i i であるとする。このとき、1 1 以上 N N 以下の各整数 i i について、頂点 i, N+i i,\ N+i 間のパス上にある頂点 (両端を含む) の重みのビットごとの排他的論理和が i i である。

输入格式

入力は以下の形式で標準入力から与えられる。

N N

输出格式

問題文中の条件を満たす木が存在するならば Yes を、そうでなければ No を出力せよ。 その後、存在するならば続く 2N1 2N-1 行にそのような木の 2N1 2N-1 本の辺を以下の形式で出力せよ。

a1 a_{1} b1 b_{1} \vdots a2N1 a_{2N-1} b2N1 b_{2N-1}

ここで、各組 (ai, bi) (a_i,\ b_i) は木に頂点 ai, bi a_i,\ b_i を結ぶ辺が存在することを表す。辺は任意の順で出力して構わない。

题目大意

  • 给定一个正整数 NN
  • 试判断,是否存在这样一棵节点数为 2N2N 的树,满足:
    • i[1,N]\forall i \in [1,N],第 ii 号节点和第 i+Ni+N 号节点的权值均为 ii
    • ii 号节点到第 i+Ni+N 号节点路径上的点的点权异或和恰为 ii
  • 若不存在这样的树,请输出一行 No
  • 否则先输出一行 Yes,然后再输出 2N12N-1 行,每行两个正整数 u,vu,v 描述树上的一条连接 u,vu,v 的边。
  • 1N1051 \leq N \leq 10^5
3
Yes
1 2
2 3
3 4
4 5
5 6
1
No

提示

制約

  • 入力は全て整数
  • 1  N  105 1\ \leq\ N\ \leq\ 10^{5}

Sample Explanation 1

- 出力例は以下のグラフを表します。 ![d004b05438497d50637b534e89f7a511.png](https://img.atcoder.jp/agc035/d004b05438497d50637b534e89f7a511.png)

Sample Explanation 2

- 条件を満たす木が存在しません。