C++ std::multiset とは C++ の std::multiset とは順序付けされたデータを複数保持することができる順序付多重集合のコンテナクラスだぞ。 データを順不同に順序付多重集合に追加すると、その値をキーにし自動的にソートして内部に格納してくれるぞ。 つまり、要素が常にソートされた状態の配列のようなものだ。 内部的にはツリーを使用するので、ix 番目の要素を高速に取り出すことは出来ないけどね。 set とは違い、重複するデータを保持することができるぞ。これを「多重」と呼ぶ。 multiset はデータの追加・削除・検索の処理速度が O(log N) と高速だ。 vector に入っているデータを単純に検索すると処理速度は O(N) だが、あらかじめ O(N * log N) の時間をかけてデータをソートし、 lower_bound 等の二分探索を行うと O(log N
