全要素の値を0で初期化した要素数nの一次元配列にたいして、
ランダムに選んだm (< n) 個の要素のみ値を1にした配列を作りたいです。

次の方法を考えました。

1. 先頭からm個の要素の値を1に、残りの要素の値を0にした配列を用意する。
2. その配列に対して Fisher-Yates shuffle を施す。

これよりも実行速度において効率的な方法はあるでしょうか。
(並列化を利用して効率よくする方法もアリです)

ただ、できるだけ偏りは無くしたいです。