No.2270 T0空間
タグ : / 解いたユーザー数 42
作問者 : 👑 p-adic / テスター : 遭難者 MasKoaTS
注意
この問題は実行時間制限が厳しく入力サイズも大きいので、高速な入出力が行える言語・処理系の利用を推奨します。
writer解はc++で247[ms]、PyPy3で1879[ms]、Python3で4489[ms](つまり TLE )となっています。
問題文
入力に $2$ 個の正整数 $N, M$ と、次の条件を満たす要素数 $M$ の集合 $S$ が与えられます:
- $S$ の任意の要素は数字 $0$ と $1$ のみからなる長さ $N$ の文字列である。
まずは用語を導入します。$S$ が良いbit列集合であるとは、$N$ 以下の任意の正整数 $n_0$ と $n_1$ に対し、$n_0 \neq n_1$ ならば次の条件が成り立つということです:
- ある $s \in S$ が存在して、$s$ の右から $n_0$ 文字目と右から $n_1$ 文字目が異なる。
$S$ が良いbit列集合であるか否かを判定してください。
背景
$N$ 以下の正整数全体の集合を $I_N$ と置き、各 $s \in S$ に対し「$s$ の右から $i$ 文字目が $1$ である」を満たす $i \in I_N$ 全体の集合を $U_s$ と置き、集合族 $\{U_s \mid s \in S\}$ を $\mathcal{O}_S$ と置くことで、$S$ を $I_N$ の部分集合の集合族 $\mathcal{O}_S$ に翻訳することが出来ます。
近代集合論で幾何学を定式化する際にはしばしば位相空間という概念が使われます。組 $(I_N,\mathcal{O}_S)$ が位相空間である時、$S$ が良いbit列集合であるという性質を位相空間 $(I_N,\mathcal{O}_S)$ の $\textrm{T}_0$ 性やコルモゴロフ性と呼びます。
$\textrm{T}_0$ 性は位相空間の性質の中でも分離公理と呼ばれるものの1つで、よく使われる分離公理の中でも非常に弱い性質となります。$\textrm{T}_0$ 性より強い性質でよく使われるものの1つに $\textrm{T}_2$ 性やハウスドルフ性と呼ばれるものがあり、これは位相空間を幾何学で扱う際に頻繁に仮定される性質となります。
入力
$S$ の要素を $M$ 以下の各正整数 $m$ で番号付けし $s_m$ と置きます。
この時、入力は次の形式で標準入力から $2 + M$ 行で与えられます:
- $1$ 行目に $N$ が与えられます。
- $2$ 行目に $M$ が与えられます。
- $M$ 以下の各正整数 $m$ に対し、$2 + m$ 行目に $s_m$ が与えられます。
制約
入力は以下の制約を満たします:
- $N$ は $1 \leq N \leq 2^8$ を満たす整数である。
- $M$ は $1 \leq M \leq \min \{2^N,2^{16}\}$ を満たす整数である。
- $M$ 以下の任意の正整数 $m$ に対し、$s_m$ は 数字 $0$ と $1$ のみからなる長さ $N$ の文字列である。
- $M$ 以下の任意の正整数 $m_0, m_1$ に対し、$m_0 \neq m_1$ ならば $s_{m_0} \neq s_{m_1}$ である。
出力
$S$ が良いbit列集合である場合はYes
と出力し、そうでない場合はNo
と出力してください。
最後に改行してください。
サンプル
サンプル1
入力
1 1 0
出力
Yes
$N = 1$ 以下の互いに異なる $2$ 正整数の組は存在しないため、$S = \{0\}$ は良いbit列集合です。
位相空間を知っている人向けに言うと、$(I_N,\mathcal{O}_S) = (\{1\},\{\{\}\})$ は $I_N \in \mathcal{O}_S$ を満たさないので位相空間ではありません。従って $S$ が良いbit列集合であることと $(I_N,\mathcal{O}_S)$ が $\textrm{T}_0$ 位相空間であることは同値ではありません。
サンプル2
入力
1 2 0 1
出力
Yes
$N = 1$ 以下の互いに異なる $2$ 正整数の組は存在しないため、$S = \{0,1\}$ は良いbit列集合です。
位相空間を知っている人向けに言うと、$(I_N,\mathcal{O}_S) = (\{1\},\{\{\},\{1\}\})$ は離散位相空間かつ密着位相空間です。
代数幾何を知っている人向けに言うと、$(I_N,\mathcal{O}_S)$ は $p$ 進数体 $\mathbb{Q}_p$ に付随するアフィンスキーム $\textrm{Spec}(\mathbb{Q}_p)$ と同相な位相空間となります。
サンプル3
入力
2 1 11
出力
No
$N = 2$ 以下の互いに異なる $2$ 正整数の組として $(n_0,n_1) := (1,2)$ があります。一方で $S = \{11\}$ は要素を $s := 11$ しか持たず、$s$ の 右から $n_0$ 文字目と右から $n_1$ 文字目は等しく $1$ であるため $S$ は良いbit列集合ではありません。
サンプル4
入力
2 3 00 01 11
出力
Yes
$N = 2$ 以下の互いに異なる $2$ 正整数の組は順序を無視すれば $(n_0,n_1) := (1,2)$ しかありません。そして $S = \{00,01,11\}$ の要素 $s := 01$ は $n_0$ 文字目と $n_1$ 文字目が異なるので、$S$ は良いbit列集合です。
位相空間を知っている人向けに言うと、$(I_N,\mathcal{O}_S) = (\{1,2\},\{\{\},\{1\},\{1,2\}\})$ は離散位相空間でない $\textrm{T}_0$ 位相空間となります。
代数幾何を知っている人向けに言うと、$(I_N,\mathcal{O}_S)$ は $p$ 進整数環 $\mathbb{Z}_p$ に付随するアフィンスキーム $\textrm{Spec}(\mathbb{Z}_p)$ と同相な位相空間となります。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。