以下の内容はhttps://jupiro.hatenablog.com/entry/2020/06/14/202111より取得しました。


ナップサック問題の半分全列挙をO(2^{n / 2})で解く

少し話題になったので、自分のメモも兼ねて

方針はこれです。ちなみになんですが、ソートされた配列をソートしたままmergeするのに、C++std::mergeがあるのでこれを使うと結構楽にかけます。

実装が分からないよって人は参考にしてみてください。

実装例

 n > 30なのはassertしてるので、分かりにくいですが、4msぐらいでかなり早いですね。

atcoder.jp




以上の内容はhttps://jupiro.hatenablog.com/entry/2020/06/14/202111より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14