![]() |
||||||||||
|
||||||||||
端午AnKang(这才是真正的签到题Too)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/131072 K (Java/Others)Total Submission(s): 2 Accepted Submission(s): 1 Problem Description 在刚刚过去不久的端午节,燕吱兴致勃勃前往离他最近的金鸡湖观看龙舟赛事。 可惜的是,由于疫情原因,龙舟观赛场地限制人数,导致起得过晚的燕吱无缘现场近距离观看龙舟赛。 燕吱十分不满,决定脑补一场激烈的龙舟赛。 他把一场 $n$ 条龙舟的比赛拆分成了 $m$ 秒,每条船都有一个编号,从 $1$ 到 $n$ 。每条船的初速度都为 $0$ ,每秒初都有若干条船完成加速。 如果某个时刻某条龙舟的速度为 $x$ ,那么接下来的一秒里他会前进 $x$ 单位的距离。 由于相邻的船之间有着更激烈的竞争关系,因此每秒初加速的若干条船是连号的。 换句话说,在第 $i$ 秒初,每条船号在 $l_i$ 和 $r_i$ 之间的船的速度都会瞬间提升 $1$ 。 在最后,燕吱想知道这 $m$ 秒之后每条船的排名(行驶里程数大于它的船的数量+1)。 你可以认为赛道是无限长的。 Input 第一行输入一个正整数 $t$ 表示数据组数; 单组数据的读入格式如下: 第一行输入两个整数 $n$ 和 $m$ 。 接下来 $m$ 行每行两个数,第 $i$ 行的两个数分别为 $l_i$ 和 $r_i$ 。 其中: $1 \le t \le 10$ $1\le n,m \le 1e5$ $1 \le l_i \le r_i \le n$ Output 对于每个测试数据,输出一行一个整数 $ans$ 。 $ans$ 由如下公式求得,$ans = \sum_{i = 1} ^ n rank_i * 100003 ^ {i - 1} \mod 1000000007$。 其中 $rank_i$ 为 $i$ 号船的排名。 Sample Input
Sample Output
Hint 仅样例1: 第一秒初三条船的速度:1 1 1 第一秒后三条船的里程:1 1 1 第二秒初三条船的速度:1 2 1 第二秒后三条船的里程:2 3 2 Source | ||||||||||
|