DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

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