Logo Wy Online Judge

WyOJ

#592. C.取模问题

题目描述

给定两个正整数 $a$ 和 $b$,以及 $q$ 次询问。

对于每次询问,给定两个整数 $l_i, r_i$,你需要求出在区间 $[l_i, r_i]$ 内,有多少个整数 $x$ 满足:

$$((x \bmod a) \bmod b) \ne ((x \bmod b) \bmod a)$$

其中 $y \bmod z$ 表示 $y$ 除以 $z$ 的余数。例如:$5 \bmod 3 = 2$,$7 \bmod 8 = 7$,$9 \bmod 4 = 1$,$9 \bmod 9 = 0$。

输入格式

第一行一个正整数 $t$,表示测试用例的数量。

接下来 $t$ 组测试用例,每组格式如下:

第一行三个正整数 $a, b, q$。

接下来 $q$ 行,每行两个正整数 $l_i, r_i$,表示一次询问。

输出格式

对于每组测试用例,输出一行 $q$ 个整数,第 $j$ 个整数表示第 $j$ 次询问的答案。相邻两个整数之间用一个空格隔开。

输入输出样例

输入 #1

2
4 6 5
1 1
1 3
1 5
1 7
1 9
7 10 2
7 8
100 200

输出 #1

0 0 0 2 4
0 91

样例解释

第一组测试用例 $a = 4, b = 6$:

  • 区间 $[1, 1]$、$[1, 3]$、$[1, 5]$ 内没有满足条件的整数;
  • 区间 $[1, 7]$ 内满足条件的是 $x = 6, 7$,共 $2$ 个;
  • 区间 $[1, 9]$ 内满足条件的是 $x = 6, 7, 8, 9$,共 $4$ 个。

第二组测试用例 $a = 7, b = 10$:

  • 区间 $[7, 8]$ 内的 $x = 7, 8$ 均不满足条件;
  • 区间 $[100, 200]$ 内有 $91$ 个满足条件的整数。

数据范围与提示

本题采用子任务制评分。

子任务 分值 $t$ $a, b$ $q$ $l_i, r_i$
Subtask 1 $30$ $\le 10$ $\le 30$ $\le 10$ $\le 10^6$
Subtask 2 $70$ $\le 100$ $\le 200$ $\le 500$ $\le 10^{18}$

对于 $100\%$ 的数据,$1 \le t \le 100$,$1 \le a, b \le 200$,$1 \le q \le 500$,$1 \le l_i \le r_i \le 10^{18}$。

题目信息
  • 难度 UKE
  • 控制组 group_default
  • 时间限制 1 s
  • 空间限制 256 MB
  • 数据大小 5.004 MB
提交统计
  • 提交数 132
  • 通过数 27
  • 通过率 20.5%