AT_arc035_d [ARC035D] 高橋くんとマラソンコース

题目描述

高桥君在筹办今年的高桥镇马拉松比赛。 高桥镇可以视作一个 $10^6\times 10^6$ 的网格图,我们认为第 $i$ 行第 $j$ 列的点的坐标为 $(i,j)$。 为了方便计时,高桥君为比赛设置了 $N$ 个检查点,第 $i$ 个检查点的坐标为 $(a_i,b_i)$。 参赛选手需要 **顺次通过每个** 检查点,在途中只能够 **向上或向右** 前进。 现在高桥君正在对比赛进行进一步调整,你作为他的参谋,需要响应他的 $Q$ 次行动: + 修改:将检查点 $i$ 的坐标更改为 $(x,y)$。 + 询问:求出从检查点 $l_1$ 到 $r_1$ 的路径总数与 $l_2$ 到 $r_2$ 的路径总数哪个更多。 特别的,保证每次询问时,$l_1$ 到 $r_1$ 的路径总数和 $l_2$ 到 $r_2$ 的路径总数之差大于等于路径总数较小的一个的路径总数。

输入格式

首先给出 $N$,表示检查点总数。 之后 $N$ 行,第 $i$ 行有两个整数 $a_i,b_i$ 表示检查点 $i$ 的坐标为 $a_i,b_i$。 之后给出 $Q$,表示行动数。 每行的第一个数 $t$ 表示行动种类: + 若 $t=1$,则表示这是一次修改操作,接下来给出三个数 $i,x,y$,表示将检查点 $i$ 的坐标改为 $(x,y)$。 + 若 $t=2$,则表示这是一次询问操作,接下来给出四个数 $l_1,r_1,l_2,r_2$,含义如题面所述。

输出格式

对于每次询问输出一行一个字符串:若 $l_1$ 到 $r_1$ 的路径总数大于 $l_2$ 到 $r_2$ 的路径总数,输出 `FIRST`,否则输出 `SECOND`。

说明/提示

对于所有数据,$2\le N\le 2\times 10^5$。 保证输入的坐标均在 $[1,10^6]$ 以内。 保证无论何时,任意两个检查点之间至少存在一条路径。 保证每次询问时路径总数较多的一个的路径总数至少是路径总数较少的一个的两倍。