#P8816. 上升点列(Rising Point Sequence)

上升点列(Rising Point Sequence)

上升点列(Rising Point Sequence)

题目描述

在一个二维平面内,给定 nn 个整数点 (xi,yi)(x_i,y_i),此外你还可以自由添加 kk 个整数点。

你在自由添加 kk 个点后,还需要从 n+kn+k 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 11 而且横坐标、纵坐标值均单调不减,即 xi+1xi=1, yi+1=yix_{i+1}-x_i=1,\ y_{i+1}=y_iyi+1yi=1, xi+1=xiy_{i+1}-y_i=1,\ x_{i+1}=x_i。请给出满足条件的序列的最大长度。

输入格式

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

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

输出格式

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

样例输入 #1

8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3

样例输出 #1

8

样例输入 #2

4 100
10 10
15 25
20 20
30 30

样例输出 #2

103

数据范围

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

测试点编号 nn\le kk\le xi,yix_i,y_i\le
1~2 10 0 10
3~4 100 100
5~7 500 0
8~10 10910^9
11~15 100 100
16~20 10910^9

第三个样例满足 k=0k=0

知识点与难度

本题涉及的知识点从属于 GESP 6级,难度等级:⭐⭐⭐(星级)


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 n10n\le 10 / k=0k=0 LIS / 坐标范围 100
2 15 9~11 Hack: 大量插入点 / 同 xxyy / 反向点序
3 30 12~20 中大规模 n=500n=500k=100k=100,坐标 100
4 25 21~25 大规模 n=500n=500k=100k=100,坐标 10910^9 随机回归