AT_pakencamp_2020_day2_e 老朽化対策

题目描述

[problemUrl]: https://atcoder.jp/contests/pakencamp-2020-day2/tasks/pakencamp_2020_day2_e 配分:$800$ 分 パ研王国是一个无限扩展的二维平面。在パ研王国中有 $N$ 条道路和 $M$ 座房屋,第 $i$ 条道路($1 \leq i \leq N$)是形如 $y = a_i x + b_i$ 的直线,第 $i$ 座房屋($1 \leq i \leq M$)位于坐标 $(x_i, y_i)$。 由于道路老化,パ研王国决定选择 $0$ 条或多条道路进行拆除。选择 $0$ 条或多条道路进行拆除的方法共有 $2^N$ 种。对于每一种拆除方案,请统计有至少 $1$ 条未被拆除的道路经过的房屋的数量,并将所有方案的统计结果求和,最后输出该总和对 $10^9+7$ 取余的结果。

输入格式

输入通过标准输入按以下格式给出。 ``` N M a_1 b_1 a_2 b_2 ︙ a_N b_N x_1 y_1 x_2 y_2 ︙ x_M y_M ```

输出格式

请输出总和对 $10^9+7$ 取余的结果。请不要忘记在输出末尾换行。

说明/提示

## 子任务 1.($50$ 分)$N=1$ 2.($50$ 分)$N \leq 10,\ M \leq 2000$ 3.($100$ 分)$M \leq 100$ 4.($200$ 分)$a_i \neq a_j\ (i \neq j)$ 5.($400$ 分)无额外限制。 由 ChatGPT 4.1 翻译