P13580 [CCPC 2024 重庆站] Median Replacement
题目背景
本题目来自仓库 https://github.com/Disposrestfully/CCPC-CQ-2024/tree/main
题目描述
给定一个长为 $n$ 的整数序列 $a_1,a_2,\dots,a_n$,你需要对 $a$ 进行若干次如下操作,使得 $a$ 中所有数均相等:
- 选择一段长为**大于 $1$ 的奇数**的区间 $a_l,a_{l+1},\ldots,a_r$,并将此区间内的**所有数**均替换为它们的中位数。
设最终 $a_1=a_2=\ldots=a_n=x$,我们定义序列 $a$ 的值为 $x$ 的最大值。
请你求出所有满足 $\forall\ 1\le i\le n$,$l_i\le a_i\le r_i$ 的整数序列 $a$ 的值之和。
由于答案可能很大,请对 $10^9+7$ 取模。
输入格式
第一行一个整数 $T$,表示测试数据组数。
对于每组测试数据:
- 第一行一个整数 $n$。
- 第二行 $n$ 个整数 $l_1,l_2,\ldots,l_n$。
- 第三行 $n$ 个整数 $r_1,r_2,\ldots,r_n$。
保证$1\le T\le 10$,$3\le n\le 150$,$1\le l_i\le r_i\le 10^9$。
输出格式
对于每组测试数据,输出一行一个整数表示答案对 $10^9+7$ 取模的结果。
说明/提示
对于第一组测试数据,$a$ 只能为 $[1,1,1]$,值为 $1$,故答案为 $1$。
对于第二组测试数据,$a$ 可以为 $[1,1,1],[1,1,2],[1,2,1],[1,2,2]$,值分别为 $1,1,1,2$,故答案为 $5$。