priority_queue
を使用してミニヒープを作成する理由は?std::greater
を使用するのはなぜですか?私に`priority_queue 'でminヒープを作成するために` std :: greater`を使用する理由
std::priority_queue<T, std::vector<T>, std::greater<T> > min_heap;
最小値は常にヒープの最上部に位置しているため、採用のクラスはstd::less
を更新する必要があります:priority_queue
のデフォルトの動作であるため、一方 (最大ヒープ)C++のヒープ関数は、make_heap
分ヒープを作成するため
を持つ要素を与えられていないということだったでしょうか?私は現在cppreference.comを読んでおり、std :: lessをデフォルトとして指定し、std :: greaterを置き換えると、最小要素が最大値ではなく「トップ」として表示されます。大会の問題のようですね。 – sunny