atcoder#ARC103C. [ARC103E] Tr/ee

[ARC103E] Tr/ee

题目描述

長さ n n の文字列 s s が与えられます。 以下の条件を満たす n n 頂点の木は存在するでしょうか?

  • 各頂点には 1,2,..., n 1,2,...,\ n の番号が付けられている
  • 各辺には 1,2,..., n1 1,2,...,\ n-1 の番号が付けられていて、i i 番目の辺は 頂点 ui u_i vi v_i をつないでいる
  • s s i i 番目の文字が 1 であるとき、 木からある辺を 1 1 つ取り除くことで、サイズ i i の連結成分が作れる
  • s s i i 番目の文字が 0 であるとき、 木からどのように辺を 1 1 つ取り除いてもサイズ i i の連結成分が作れない

条件を満たす木が存在する場合、1 1 つ構築してください。

输入格式

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

s s

输出格式

条件を満たす n n 頂点の木が存在しない場合、-1 と出力してください。

条件を満たす n n 頂点の木が存在する場合、 n1 n-1 行出力してください。 i i 行目には ui,vi u_i,v_i を空白区切りで出力してください。 複数の木が条件を満たす場合、どれを出力しても構いません。

题目大意

给定一个长度为 nn0101 序列 {sn}\{s_n\}

尝试构造一棵具有如下性质的 nn 个结点的树:

i[1,n]Z+\forall i\in[1,n]\cap\mathbb{Z_+}sis_i 若为 11 ,则一定存在大小为 ii 的连通块;sis_i 若为 00 ,则一定不存在大小为 ii 的连通块。
定义连通块为删去一条边后的一个极大连通分量。

1n1051 \le n \le {10}^5

1111
-1
1110
1 2
2 3
3 4
1010
1 2
1 3
1 4

提示

制約

  • 2 n  105 2\leq\ n\ \leq\ 10^5
  • s s 01 からなる長さ n n の文字列

Sample Explanation 1

n n 頂点の木から辺を 1 1 つ取り除いてサイズ n n の連結成分を作ることはできません。

Sample Explanation 2

1 1 番目の辺または 3 3 番目の辺を取り除くと、サイズ 1 1 の連結成分とサイズ 3 3 の連結成分ができます。 2 2 番目の辺を取り除くと、サイズ 2 2 の連結成分が 2 2 つできます。

Sample Explanation 3

どの辺を取り除いても、サイズ 1 1 の連結成分とサイズ 3 3 の連結成分ができます。