P11876 [威海市赛2024] 收徒!
题目描述
小威和小海正在玩《铁斧斧之争》。
小威给小海狠狠上了一课,在这局游戏中获得了第一名。小威很兴奋,大喊:"收徒!"小海很不服,给他提了一个问题,并且要求他解决,不然就再也不和他玩了。小威立马同意了。
问题是这样的:在《铁斧斧之争》中,有一个 $H$ 行 $W$ 列的棋盘,令 $(i, j)$ 表示从上往下数第 $i$ 行,从左往右数第 $j$ 列的单元格。在这个棋盘中分布着 $N$ 个棋子,当小威经过 $(R_i, C_i)$ 格时可以获得第 $i$ 个棋子,获得 $1$ 的战斗力。小海想知道,如果小威从 $(1, 1)$ 开始,反复向下或向右移动一个格子,最终到达 $(H, W)$ 时,能最多获得多少战斗力?
小威立马秒了,但小海捂住了他的嘴,继续说:除此之外,我还想知道你是如何获得最多战斗力的,你还要告诉我获得最多战斗力的这条路径。
小威:"……"
你能帮帮他吗?
输入格式
第一行三个整数 $H, W, N$,含义如上所述;
接下来 $N$ 行,每行两个整数 $R_i, C_i$,含义如上所述。
对于所有数据,满足:
- $2 \leq H, W \leq 2 \times 10^5$;
- $1 \leq N \leq \min(HW - 2, 2 \times 10^5)$;
- $1 \leq R_i \leq H$;
- $1 \leq C_i \leq W$;
- $(R_i, C_i) \neq (1, 1)$;
- $(R_i, C_i) \neq (H, W)$;
- $(R_i, C_i)$ **互不相同**。
输出格式
输出两行。
第一行一个整数,表示你能获得的最大战斗力;
第二行一个长度为 $H+W-2$ 的字符串,如果第 $i$ 次移动是向下的,则字符串的第 $i$ 个字符为 `D`;如果第 $i$ 次移动是向右的,则字符串的第 $i$ 个字符为 `R`。
如果有多条路径可以最大化获得的战斗力,则输出任意一条路径即可。
说明/提示
对于第一组样例,一种可行的方案如下图所示:

移动路径为 $(1, 1) \to (2, 1) \to (2, 2) \to (2, 3) \to (3, 3) \to (3, 4)$,可以在 $(2, 1), (2, 3), (3, 3)$ 处得到三个棋子。