https://www.lanqiao.cn/problems/20034/learning/?page=1&first_category_id=1
点击查看代码
'''
找规律在组合中存在对称性,即递增的位置对称,如
1 1 1 3
1 1 2 3
1 1 3 3
1 2 2 3
1 2 3 3
1 3 3 3
一共存在K种组合,则 [L,R]中的数字会平分 K * (N - 2) 次出现, 然后L, R会各自再出现 K 次, 整个问题中的平均值即是 (L + R) / 2
答案即是 (L + R) / 2 * K * N
K是多少? 在N个数中一共要完成R - L次递增,也就是在N - 1个位置一共完成 R - L 次递增的组合数。等价于将 R - L 个不区分的小球放进 N - 1个盒子
这个组合问题又等价于 用 N - 2 个隔板 分开 R - L 个小球
K = C(R - L + N - 2, N - 2)
'''
MOD = 998244353
MX = 2 * 10 ** 5
P = [1] * MX
for i in range(1, MX):P[i] = (P[i - 1] * i % MOD)inv = [0] * MX
inv[-1] = pow(P[-1], MOD - 2, MOD)
for i in range(MX - 2, -1, -1):inv[i] = inv[i + 1] * (i + 1) % MOD t = int(input())
ans = []
for _ in range(t):n, l ,r = map(int, input().split())k = P[r - l + n - 2] * inv[n - 2] * inv[r - l] % MODans.append(str((l + r) * k * n * inv[2] % MOD))
print('\n'.join(ans))