#P13561. 「WWOI R1」WsW 的笔

    ID: 14384 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>数学O2优化组合数学容斥原理

「WWOI R1」WsW 的笔

背景

WsW 准备送几支笔给 bln。

题目描述

WsW 有 b−a+1b-a+1 支笔,每支笔的编号为 a∼ba\sim b 的正整数,且笔的编号互不相同。他决定送若干支笔给 bln,并将剩余的笔留给自己。

当所有的笔都满足以下条件时,WsW 认为这种送笔方案是优秀送笔方案:

  • 如果将编号为 xx 的笔送给 bln,那么必须将编号为 x/kx/k 的笔留给自己。

  • 如果将编号为 xx 的笔留给自己,那么必须将编号为 x/kx/k 的笔送给 bln。

    当然,这些条件的前提是 WsW 有编号为 x/kx/k 的笔。

WsW 认为,如果某个编号的笔在一种方案中被送出,在另一种方案中被留下,则这两种送笔方案是不同的。

现在所有的笔都已经被 WsW 编完号了,WsW 想知道一共有多少种不同的优秀送笔方案。

由于最后的结果可能很大,你只需要告诉 WsW 总方案数对 109+710^9+7 取模后的值。

输入格式

本题有多组测试数据。

输入的第一行包含一个正整数 TT,表示数据组数。

接下来包含 TT 组数据,每组数据的格式如下:

第一行输入一个正整数 kk。

第二行输入两个正整数 a,ba,b,表示笔编号的范围。

输出格式

对于每组数据:输出一行包含一个整数,表示有多少种不同的优秀送笔方案。答案对 109+710^9+7 取模。

1
2
2 2
2
1
3
1 4
8
1
114
514 1919810
532406817

提示

【样例 11 解释】

方案 送出编号 留下编号
11 22 无
22 无 22

共 22 种不同的优秀送笔方案。

【样例 22 解释】

方案 送出编号 留下编号
11 2,3,42,3,4
22 1,21,2 3,43,4
33 1,41,4 2,32,3
44 1,2,41,2,4 33
55 33 1,2,41,2,4
66 2,32,3 1,41,4
77 3,43,4 1,21,2
88 2,3,42,3,4 11

共 88 种不同的优秀送笔方案。

【数据范围】

本题采用捆绑测试。

对于所有测试数据,保证 1≤T≤51\le T\le 5,1≤a≤b≤10181\le a\le b\le 10^{18},2≤k≤1052\le k\le10^{5}。

子任务编号 a,b≤a,b\leq 特殊性质 分值
11 2020 无 1010
22 10310^3
33 10510^5 B 55
44 ^ 无 1010
55 7×1067\times10^6 A 55
66 ^ B
77 无 1515
88 101810^{18} A 55
99 ^ B 1010
1010 无 2525
  • 特殊性质 A:a×k>ba\times k>b。

  • 特殊性质 B:k=2k=2。