「RiOI-03」匀速相遇

Luogu
IDLGP9914
Time1500ms
Memory512MB
DifficultyP3
洛谷原创O2优化洛谷月赛双指针 two-pointer哈希表
平面直角坐标系上有 $n + m$ 个点,其中: - 有 $n$ 个 $\rm A$ 类点,它们在初始时依次位于位置 $(1, 0), (2, 0), (3, 0), \dots, (n, 0)$。 - 有 $m$ 个 $\rm B$ 类点,它们在初始时依次位于位置 $(0, 1), (0, 2), (0, 3), \dots, (0, m)$。 在某一个时刻,$\rm A, B$ 类点同时开始运动。具体地: - 对于第 $i$ 个 $\rm A$ 类点,其以 $a_i$ 个单位长度每秒的速度向上(即 $y$ 轴正方向)匀速运动。特别地,若 $a_i = 0$,则该点始终保持静止。 - 对于第 $i$ 个 $\rm B$ 类点,其以 $b_i$ 个单位长度每秒的速度向右(即 $x$ 轴正方向)匀速运动。特别地,若 $b_i = 0$,则该点始终保持静止。 相遇与分离实在是再平凡不过的了。作为匆匆时光里的一名过客,在这个你暂留的驿站里,你能否帮小 T 解决这个简单的问题:求出有多少点对会在某个时刻相遇,即它们在某一刻共点。 由于你无法使时间静止,所以所有点无论相遇与否,都会永无止境地运动下去。祝愿在这道路上奔跑的你,能有一天与理想匀速相遇,永不停息。 ## Input 第一行两个正整数 $n, m$。 第二行 $n$ 个整数 $a_1\dots a_n$,依次表示第 $1\dots n$ 个 $\rm A$ 类点的运动速度。 第三行 $m$ 个整数 $b_1\dots b_m$,依次表示第 $1\dots m$ 个 $\rm B$ 类点的运动速度。 ## Output 一行一个整数,表示有多少点对会在某个时刻相遇。 [samples] ## Background 当大家都在加速时,我与你,在人生中的十字路口,匀速地相遇了。 确是惊动我心的一瞥,却是无法逗留的遗憾,我们再次,朝着自己的方向匀速奔跑。下次再见,又会是什么时候呢…… ## Note ### 样例解释 1 当 $t = 1$ 时,第 $2$ 个 $\rm A$ 类点和第 $2$ 个 $\rm B$ 类点同时到达点 $(2, 2)$。这也是在本组样例中的唯一一次相遇,故输出 $1$。 ### 数据规模与约定 **本题开启捆绑测试。** + Subtask 0(10 pts):$n \leq 10$,$m \leq 10$。 + Subtask 1(20 pts):$n \leq 5\times 10^3$,$m \leq 5\times 10^3$。 + Subtask 2(30 pts):保证 $\forall a_i \geq 1$,$\forall b_i \geq 1$。 + Subtask 3(40 pts):无特殊限制。 对于所有数据,$1 \leq n, m \leq 10^6$,$0 \leq a_i, b_i \leq 10^9$。
Samples
Input #1
3 3
1 2 3
3 2 1
Output #1
1
Input #2
3 3
2 5 1
83 101 98
Output #2
0
API Response (JSON)
{
  "problem": {
    "name": "「RiOI-03」匀速相遇",
    "description": {
      "content": "平面直角坐标系上有 $n + m$ 个点,其中: - 有 $n$ 个 $\\rm A$ 类点,它们在初始时依次位于位置 $(1, 0), (2, 0), (3, 0), \\dots, (n, 0)$。 - 有 $m$ 个 $\\rm B$ 类点,它们在初始时依次位于位置 $(0, 1), (0, 2), (0, 3), \\dots, (0, m)$。 在某一个时刻,$\\rm A, B$ 类点同时开",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1500,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9914"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "平面直角坐标系上有 $n + m$ 个点,其中:\n\n- 有 $n$ 个 $\\rm A$ 类点,它们在初始时依次位于位置 $(1, 0), (2, 0), (3, 0), \\dots, (n, 0)$。\n- 有 $m$ 个 $\\rm B$ 类点,它们在初始时依次位于位置 $(0, 1), (0, 2), (0, 3), \\dots, (0, m)$。\n\n在某一个时刻,$\\rm A, B$ 类点同时开...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments