DOJ logoDOJ
問題
最近追加された問題保存した問題Workbooks
カテゴリDLCコンテストグループチーム掲示板
ランキング
正解数ランキングストリークランキングDOJ Powerランキング
提出状況
問題募集ログイン新規登録
DOJ logoDOJ

OI形式のサブタスク採点、Eloレーティング、Discord認証を備えたオンラインジャッジです。

問題
問題一覧カテゴリ
コミュニティ
コンテストランキング掲示板お知らせ外部のコンテストを開催するガイド
アカウント
ログイン新規登録ジャッジ状態
ポリシー
利用規約DLCの利用規則プライバシーAPI 文書言語ランタイムコンテストの順位報酬レーティングとパフォーマンス
© 2026 DOJ
All rights reserved
解説

Modular Range Counting

問題に戻る

解説

B=450B=450B=450이라 하자. 모든 x≤Bx\leq Bx≤B와 각 나머지에 대해 해당 나머지를 갖는 원소의 인덱스 목록을 만든다. 각 원소는 BBB개의 목록에 들어가므로 전처리 시간과 저장 공간은 O(NB)O(NB)O(NB)이다.

x≤Bx\leq Bx≤B인 쿼리는 해당 목록에서 이분 탐색 두 번으로 답한다. x>Bx>Bx>B이면 Ai≤BA_i\leq BAi​≤B이므로 나머지가 인 가능한 값은 최대 하나이다. 값별 인덱스 목록에서 같은 방식으로 센다.

쿼리당 시간 복잡도는 O(log⁡N)O(\log N)O(logN)이다.

Solution written by GPT5

yyy