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)\) です。

Python (10 ms)

C++ (1 ms)

投稿日時:
最終更新: