2016-05-12 4 views
1

不明な人数を収容する必要があります(無関係です)。n個の操作でO(n^2)操作を強制する(再配置)

私は無限の数の部屋を持っています。それぞれの部屋に2人の能力があります(2,4,8、...)。さらに、私は一度に1つの部屋しか買えません。

たびに、部屋はAが大きくルームBに移動するために移動しなければならない部屋には小さすぎるみんなを取得します。同じ手順は、部屋が半分しか満たされていない場合に発生します。この場合、誰もが部屋Bから部屋Aに戻る必要があります。

現在、実際に収容されている人の数が間違っている(多かれ少なかれ)ように、戦略をハックして間違った「入力/離脱」アクションを入力する人物が1人あります。 n "enter/leave" -actions(nは入力および退室アクションの数)で部屋を変更するO(n^2)人に強制することが可能であることを示しています。

ここで、部屋x時間を変更する必要がある人は、部屋を変更するx時間としてカウントすることに注意してください。

答えて

0

は、最初のn/2プッシュバック動作

行う次いで室温でN/2人

次いでN/4(プッシュバック+ popBack)を行う各プッシュバックのため

、大きさの部屋含まnの2人が割り当てられ、n/2人が「コピーされた」

popBackの場合、n/2のサイズの小さな部屋が割り当てられ、n/2人の人それぞれがその中にコピーされます。 (pushBock + popBock)用

は(対応)行うn個の操作がある-operation

(動画を除く)すべての操作の合計努力はOであり、(N)

これはnについてことを意味少なくとも(n/4)* n =Θ(n^2)のコピー操作がある