bdfz_2024_summer/day10/U252456/U252456.md

84 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2024-08-12 00:27:33 +00:00
# 过河2
## 题目描述
在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:$0,1,\cdots,L$(其中 $L$ 是桥的长度)。坐标为 $0$ 的点表示桥的起点,坐标为 $L$ 的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。
给定一个正整数集合 $S$,一次跳跃的距离可在集合中任选 $x\in S$。
当青蛙跳到或跳过坐标为 $L$ 的点时,就算青蛙已经跳出了独木桥。
给出独木桥的长度 $L$,青蛙跳跃距离的集合 $S$,桥上石子的位置。你的任务是确定青蛙要想过河,最少需要踩到的石子数。
## 输入格式
第一行有 1 个正整数 $L$,表示独木桥的长度。
第二行有 2 个正整数 $k,m$,分别代表跳跃距离的集合大小和石子个数。
第三行 $k$ 个整数 $x[1\sim k]$ 代表 $S$ 中的数(不保证有序)。
第四行有 $m$ 个不同的正整数分别表示这 $m$ 个石子在数轴上的位置(数据保证桥的起点和终点处没有石子)。所有相邻的整数之间用一个空格隔开。
## 输出格式
一个整数,表示青蛙过河最少需要踩到的石子数。
## 样例 #1
### 样例输入 #1
```
10
2 5
2 3
2 3 5 6 7
```
### 样例输出 #1
```
2
```
## 样例 #2
### 样例输入 #2
```
见下发样例
```
### 样例输出 #2
```
```
## 样例 #3
### 样例输入 #3
```
见下发样例
```
### 样例输出 #3
```
```
## 提示
对于100%的数据,$1\le L\le 10^9, 0<k\le 50, 1<x[i]\le 100, 0\le m\le 500$
子任务120分$L\le 10^4$
子任务220分$k=2$,保证 $gcd(x[1],x[2])=1$
子任务320分$k=2$
子任务440分无特殊限制
2s512MB