#17972. ProblemIIIIII

ProblemIIIIII

题目描述

小 Y 最近在研究平面上的点和路径问题,今天遇到了一个有趣的挑战!题目是这样的:

在一个二维平面上,已经有了 n 个整数点,每个点都能用坐标 (xᵢ, yᵢ) 表示,比如 (2, 3)、(5, 1) 这些。除了这些现成的点,小 Y 还可以自由添加 k 个整数点 —— 也就是说,她可以自己选 k 个像 (a, b) 这样的整数坐标点加进去,让平面上的点变多。

接下来,小 Y 需要从所有点(原来的 n 个加上新添的 k 个,一共 n+k 个点)中挑选出一些点,按顺序排成一个序列。这个序列有两个特别的要求:

  • 相邻点的距离必须是 1:任意两个相邻的点,要么是横坐标加 1、纵坐标不变(比如从 (x,y) 到 (x+1,y)),要么是纵坐标加 1、横坐标不变(比如从 (x,y) 到 (x,y+1)),这样它们的欧几里得距离刚好是 1。
  • 坐标单调不减:整个序列里,所有点的横坐标和纵坐标都得越来越大或者保持不变(其实因为距离是 1,所以只会严格递增啦),不会出现横坐标或纵坐标变小的情况。

小 Y 的目标是:通过巧妙地添加 k 个点,再选出符合要求的序列,让这个序列的长度尽可能长!你能帮小 Y 想想怎么找到这个最大长度吗?

输入格式

第一行两个正整数 n,kn, k 分别表示给定的整点个数、可自由添加的整点个数。

接下来 nn 行,第 ii 行两个正整数 xi,yix_i, y_i 表示给定的第 ii 个点的横纵坐标。

输出格式

输出一个整数表示满足要求的序列的最大长度。

8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3
8
4 100
10 10
15 25
20 20
30 30
103

【数据范围】

保证对于所有数据满足:1n5001 \leq n \leq 5000k1000 \leq k \leq 100。对于所有给定的整点,其横纵坐标 1xi,yi1091 \leq x_i, y_i \leq {10}^9,且保证所有给定的点互不重合。对于自由添加的整点,其横纵坐标不受限制。

测试点编号 nn \leq kk \leq xi,yix_i,y_i \leq
121 \sim 2 1010 00 1010
343 \sim 4 100100 100100
575 \sim 7 500500 00
8108 \sim 10 109{10}^9
111511 \sim 15 100100 100100
162016 \sim 20 109{10}^9