D - Find Permutation 2 解説
by
shobonvip
\(A_i, A_j \ne -1\) で \(A_i = A_j\) となる \(i, j\) の組 \((i \ne j)\) が存在する場合、答えは No です。
実はそれ以外は Yes になります。 値 \(k\) が \(A_i = k\) として登場しているなら、「値 \(k\) は使用されている」と言うことにします。
\(A_i = -1\) となっているものに、使用されていない \(1, 2, \cdots, N\) の値を順に入れていけばよいです。
時間計算量は std::set を使えば \(O(N \log N)\) 、配列を使えば \(O(N)\) です。
投稿日時:
最終更新:
