#iaic13d. 四边形(Quadrilateral)
四边形(Quadrilateral)
四边形(Quadrilateral)
题目描述
给定四个区间 [a₁,a₂]、[b₁,b₂]、[c₁,c₂]、[d₁,d₂],请计算有多少个由正整数构成的四元组 (a,b,c,d) 满足
a₁ ≤ a ≤ a₂,b₁ ≤ b ≤ b₂,c₁ ≤ c ≤ c₂,d₁ ≤ d ≤ d₂
且 (a,b,c,d) 能够成为一个四边形的四条边长。
输入格式
第一行:两个正整数 a₁ 与 a₂; 第二行:两个正整数 b₁ 与 b₂; 第三行:两个正整数 c₁ 与 c₂; 第四行:两个正整数 d₁ 与 d₂。
输出格式
单个整数:表示有多少种 (a,b,c,d) 能够满足条件约束且能够构成四边形的四条边。由于答案可能很大,输出方案数模 10⁹+7 的余数。
数据范围
- 对于 30% 的数据,a₂,b₂,c₂,d₂ ≤ 100;
- 对于 50% 的数据,a₂,b₂,c₂,d₂ ≤ 1000;
- 对于 70% 的数据,a₂,b₂,c₂,d₂ ≤ 10000;
- 对于 100% 的数据,1 ≤ a₁ ≤ a₂ ≤ 10⁵,1 ≤ b₁ ≤ b₂ ≤ 10⁵,1 ≤ c₁ ≤ c₂ ≤ 10⁵,1 ≤ d₁ ≤ d₂ ≤ 10⁵。
样例输入 #1
1 2
1 2
1 2
5 10
样例输出 #1
1
样例1说明:仅有 a=b=c=2 且 d=5 时,四个数能够构成四边形的四条边长。
样例输入 #2
1 2
1 2
1 2
1 2
样例输出 #2
16
样例2说明:四个数任意取1或2都可以构成四边形。
知识点与难度
本题涉及的知识点从属于 GESP 8级,难度等级:⭐⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 ≤100 / 特殊: 全同区间 / 特殊: 单元素区间 |
| 2 | 15 | 9~11 | Hack: 无解情况 / Hack: 全1区间 / Hack: 极大差距 |
| 3 | 30 | 12~20 | 中规模 ≤1000~10000 / 大规模 ≤100000 压力 |
| 4 | 25 | 21~25 | 随机 ≤100000 回归 |