https://atcoder.jp/contests/abc370/tasks/abc370_dどの壁を爆破するかを素早く決めて、どの壁が壊れているかの情報をアップデートするために、二分木を使いたいです。縦と横でそれぞれ二分木を使います。 RustならBTreeSetで、[first, last)の範囲が壁か否かを表すために(first, last, wall)とすればよさそうですが、指定したマスがどの範囲に当たるかを調べるのが難しそうです。そのため、BTreeMapとして、firstとwallか否かを持ちます。そうすると、 let iter = tree.range(..x+1); キーが…