multisetを辿る問題をGoで解く(ABC241 D - Sequence Query)

昔Qiitaに投稿した記事に関して、追加の気づきがありましたので書き残しておきます。

qiita.com

ABC241 D - Sequence Queryの問題をGo言語でmultisetに関わるデータ構造をemirpasic/godsの赤黒木を利用して解くアプローチをしました。

手元とジャッジとでライブラリのバージョンが異なって、イテレータ辺りでコンパイルエラー(CE)になったというお話です。

記事執筆時点のジャッジ環境は下記が参考になるかと思います。Goは1.14.1、ライブラリのバージョン表記はありませんが2020年初旬頃の最新版と思われます。

atcoder.jp

気づきとしては、AVL木のデータ構造には、*Node.Prev()、*Node.Next()の実装がありましたのでそれを使ってイテレータ部分を辿ることができました。以下がACになりました提出です。

atcoder.jp

その時ライブラリに実装されていたものの違いかと思います。