競プロ典型 90 問 017 - Crossing Segments 解説
準備やりました.
問題リンク(Twitter/原案) 問題リンク(AtCoder/OJ)
これも QCFium 法が通ったので,制約が上がりました.
解説
小課題は略
円環の問題だが,実は好きなところで切って考えられる. 互いに被覆し合わない,重なる区間の組の数が数えたい.これは,次のようにして数えられる.
区間加算一点取得のクエリは,一点加算区間取得クエリの双対問題として,Binary Indexed Tree(Fenwick Tree) を使うことで高速に実現できる.計算量は,$O(N+M(\log N+\log M))$ となる.