#L3450. 「USACO 2020.12 Platinum」Sleeping Cows

「USACO 2020.12 Platinum」Sleeping Cows

题目描述 Farmer John 有 NN1N30001 \leq N \leq 3000)头各种大小的奶牛。他原本为每头奶牛量身定制了牛棚,但现在某些奶牛长大了,使得原先的牛棚大小不够用。具体地说,FJ 原来建造了 NN 个牛棚的大小为 t1,t2,,tNt_1, t_2, \dots, t_N,现在奶牛的大小为 s1,s2,,sNs_1, s_2, \dots, s_N1si,ti1091 \leq s_i, t_i \leq 10^9)。

每天晚上,奶牛们都会按照某种方式寻找睡觉的牛棚。奶牛 ii 可以睡在牛棚 jj 中当且仅当她的大小可以进入牛棚(sitjs_i \leq t_j)。每个牛棚中至多可以睡一头奶牛。

我们称奶牛与牛棚的一个匹配是极大的,当且仅当:

每头奶牛可以进入分配给她的牛棚;

对于每头未被分配牛棚的奶牛,无法进入任何未分配的空牛棚。

计算极大的匹配的数量模 109+710^9 + 7 的结果。

输入格式 第一行包含 NN

第二行包含 NN 个空格分隔的整数 s1,s2,,sNs_1, s_2, \dots, s_N

第三行包含 NN 个空格分隔的整数 t1,t2,,tNt_1, t_2, \dots, t_N

输出格式 输出极大的匹配的数量模 109+710^9 + 7 的结果。

样例 输入:

text 4 1 2 3 4 1 2 2 3 输出:

text 9

数据范围与提示 • 测试点 232 \sim 3 中,N8N \leq 8。 • 测试点 4124 \sim 12 中,N50N \leq 50。 • 测试点 132013 \sim 20 没有额外限制。