SP10611 RRANGE - Ranges

题目描述

有 $N$ 个连续排列的单元格,编号从 $1$ 到 $N$。每个单元格初始时的值都是 $0$。可以通过以下方式更新某一段连续的区间: 1. 选择一个区间 $[i, j]$,其中 $i < j$。 2. 对于这个区间,将第 $i$ 个单元格的值增加 $1$,第 $i + 1$ 个单元格的值增加 $2$,以此类推,直到第 $j$ 个单元格,其值增加 $j - i + 1$。 例如,假如 $N = 7$,并且执行了两次更新操作:先更新区间 $[3, 6]$,再更新区间 $[4, 7]$,状态变化如下: 初始状态:{0, 0, 0, 0, 0, 0, 0} 更新 $[3, 6]$ 后:{0, 0, 1, 2, 3, 4, 0} 更新 $[4, 7]$ 后:{0, 0, 1, 3, 5, 7, 4} 在经过这些更新后,你需要回答以下类型的问题: 1. 选择一个区间 $[u, v]$,其中 $u < v$。 2. 计算并输出该区间内所有单元格值的和,然后对 10,000 取模后的结果。 给定 $N$ 和 $U$ 次更新区间。你需要编写一个程序,能够回答 $Q$ 个问题。

输入格式

第一行包含三个整数:$N$($1 \le N \le 1,000,000,000$),$U$ 和 $Q$($1 \le U, Q \le 1,000$),分别表示单元格数量、更新操作数量和要回答的问题数量。 接下来的 $U$ 行,每行包含两个整数 $i$ 和 $j$($1 \le i < j \le N$),表示一次更新操作的区间。 接下来的 $Q$ 行,每行包含两个整数 $u$ 和 $v$($1 \le u < v \le N$),表示需要回答的问题区间。

输出格式

对于每个问题区间 $[u, v]$,输出该区间内所有单元格的值之和,并对 10,000 取模后的结果。 **本翻译由 AI 自动生成**