题目背景
本题目来自仓库 https://github.com/Disposrestfully/CCPC-CQ-2024/tree/main
题目描述
给定一个长为 n 的整数序列 a1,a2,…,an,你需要对 a 进行若干次如下操作,使得 a 中所有数均相等:
- 选择一段长为大于 1 的奇数的区间 al,al+1,…,ar,并将此区间内的所有数均替换为它们的中位数。
设最终 a1=a2=…=an=x,我们定义序列 a 的值为 x 的最大值。
请你求出所有满足 ∀ 1≤i≤n,li≤ai≤ri 的整数序列 a 的值之和。
由于答案可能很大,请对 109+7 取模。
输入格式
第一行一个整数 T,表示测试数据组数。
对于每组测试数据:
- 第一行一个整数 n。
- 第二行 n 个整数 l1,l2,…,ln。
- 第三行 n 个整数 r1,r2,…,rn。
保证1≤T≤10,3≤n≤150,1≤li≤ri≤109。
输出格式
对于每组测试数据,输出一行一个整数表示答案对 109+7 取模的结果。
2
3
1 1 1
1 1 1
3
1 1 1
1 2 2
1
5
提示
对于第一组测试数据,a 只能为 [1,1,1],值为 1,故答案为 1。
对于第二组测试数据,a 可以为 [1,1,1],[1,1,2],[1,2,1],[1,2,2],值分别为 1,1,1,2,故答案为 5。