A6162 | 「USACO 2023.1 Platinum」Tractor Paths
时间限制4s
内存限制512MB
通过 / 提交0/0
题目描述
**题目译自 [USACO 2023 January Contest, Platinum](http://usaco.org/index.php?page=jan23results) Problem 1. [Tractor Paths](http://usaco.org/index.php?page=viewproblem2&cpid=1284)**
FJ 有 $N$ 台拖拉机,第 $i$ 台拖拉机只能在闭区间 $[l_i,r_i]$ 中使用。拖拉机区间的端点满足 $l_1<l_2<\ldots<l_N$ 且 $r_1<r_2<\ldots<r_N$。一些拖拉机是特别的。
如果 $[l_i,r_i]$ 和 $[l_j,r_j]$ 相交,则称两台拖拉机 $i$ 和 $j$ 为**相邻的**。FJ 可以从一台拖拉机转移到任意相邻的拖拉机上。两拖拉机 $a$ 和 $b$ 之间的**路径**是由一个转移序列组成的,这个序列中第一台拖拉机是 $a$,最后一台拖拉机是 $b$,且序列中每两台连续的拖拉机都是相邻的。保证存在一条从拖拉机 $1$ 到拖拉机 $N$ 的路径。路径的长度是转移的次数(或者等价地,是序列中拖拉机个数减 $1$)。
给你 $Q$ 个询问,每个询问指定了一对拖拉机 $a$ 和 $b$。对于每个询问,输出两个整数:
- 拖拉机 $a$ 和 $b$ 之间任意最短路径的长度。
- 有多少特别的拖拉机,满足至少有一条从拖拉机 $a$ 到拖拉机 $b$ 的最短路径包含它。
FJ 有 $N$ 台拖拉机,第 $i$ 台拖拉机只能在闭区间 $[l_i,r_i]$ 中使用。拖拉机区间的端点满足 $l_1<l_2<\ldots<l_N$ 且 $r_1<r_2<\ldots<r_N$。一些拖拉机是特别的。
如果 $[l_i,r_i]$ 和 $[l_j,r_j]$ 相交,则称两台拖拉机 $i$ 和 $j$ 为**相邻的**。FJ 可以从一台拖拉机转移到任意相邻的拖拉机上。两拖拉机 $a$ 和 $b$ 之间的**路径**是由一个转移序列组成的,这个序列中第一台拖拉机是 $a$,最后一台拖拉机是 $b$,且序列中每两台连续的拖拉机都是相邻的。保证存在一条从拖拉机 $1$ 到拖拉机 $N$ 的路径。路径的长度是转移的次数(或者等价地,是序列中拖拉机个数减 $1$)。
给你 $Q$ 个询问,每个询问指定了一对拖拉机 $a$ 和 $b$。对于每个询问,输出两个整数:
- 拖拉机 $a$ 和 $b$ 之间任意最短路径的长度。
- 有多少特别的拖拉机,满足至少有一条从拖拉机 $a$ 到拖拉机 $b$ 的最短路径包含它。
输入格式
第一行两个整数 $N\ (2\le N\le 2\cdot 10^5)$ 和 $Q\ (1\le Q\le 2\cdot 10^5)$。
接下来一行一个长度为 $2N$ 的字符串,字符串中只包含
接下来一行一个长为 $N$ 的二进制串,表示每台拖拉机是否是特别的。
接下来 $Q$ 行每行两个整数 $a$ 和 $b\ (1\le a<b\le N)$,表示一组询问。
接下来一行一个长度为 $2N$ 的字符串,字符串中只包含
L 和 R 两种字符,表示排好序后的左右端点。保证对于这个字符串的所有正规前缀(不包括空串和全串),L 的个数多于 R 的个数。接下来一行一个长为 $N$ 的二进制串,表示每台拖拉机是否是特别的。
接下来 $Q$ 行每行两个整数 $a$ 和 $b\ (1\le a<b\le N)$,表示一组询问。
输出格式
对于每个询问,输出一行两个整数,整数之间用一个空格隔开。
输入输出样例
输入 #1
8 10 LLLLRLLLLRRRRRRR 11011010 1 2 1 3 1 4 1 5 1 6 1 7 1 8 2 3 2 4 2 5
输出 #1
1 2 1 1 1 2 2 4 2 3 2 4 2 3 1 1 1 2 1 2
- 2-3 组数据:$N,Q\le 5000$
- 4-7 组数据:最多有 $10$ 个特别的拖拉机
- 8-16 组数据:无附加限制
- 4-7 组数据:最多有 $10$ 个特别的拖拉机
- 8-16 组数据:无附加限制
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?