#6928. CSP-J 2022 上升点列(point) T4
CSP-J 2022 上升点列(point) T4
上升点列(point)
题目描述
在一个二维平面内,给定 n 个整数点 (xᵢ, yᵢ),此外你还可以自由添加 k 个整数点。
在自由添加 k 个点后,你需要从 n + k 个点中选出若干个整数点,并组成一个序列,使得:
- 序列中任意相邻两点间的欧几里得距离恰好为 1;
- 横坐标、纵坐标值均单调不减。
即序列中的任意相邻两点满足以下两种情况之一:
- xᵢ₊₁ - xᵢ = 1,yᵢ₊₁ = yᵢ;
- yᵢ₊₁ - yᵢ = 1,xᵢ₊₁ = xᵢ。
请给出满足条件的序列的最大长度。
输入格式
从文件 point.in 中读入数据。
第一行包含两个整数 n, k,分别表示给定的整点个数、可自由添加的整点个数。
接下来 n 行,第 i 行包含两个正整数 xᵢ, yᵢ,表示给定的第 i 个点的横坐标和纵坐标。
输出格式
输出到文件 point.out 中。
输出一个整数,表示满足要求的序列的最大长度。
样例 1
输入
8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3
输出
8
样例 2
输入
4 100
10 10
15 25
20 20
30 30
输出
103
样例 3
见选手目录下的 point/point3.in 与 point/point3.ans。
第三个样例满足 k = 0。
样例 4
见选手目录下的 point/point4.in 与 point/point4.ans。
数据范围
对于所有测试数据,保证:
- 1 ≤ n ≤ 500;
- 0 ≤ k ≤ 100;
- 对于所有给定的整点,横纵坐标满足 1 ≤ xᵢ, yᵢ ≤ 10⁹;
- 所有给定的点互不重合;
- 对于自由添加的整点,其横纵坐标不受限制。
| 测试点编号 | n ≤ | k ≤ | xᵢ, yᵢ ≤ |
|---|---|---|---|
| 1~2 | 10 | 0 | 10 |
| 3~4 | 100 | 100 | |
| 5~7 | 500 | ||
| 8~10 | 10⁹ | ||
| 11~15 | 100 | 100 | |
| 15~20(待核对) | 10(待核对) |
相关
在以下作业中: