跳到主要内容

P8816 [CSP-J 2022] 上升点列

[CSP-J 2022] 上升点列 P8816​

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

你在自由添加 kk 个点后,还需要从 n+kn + k 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 11 而且横坐标, 纵坐标值均单调不减,即 xi+1−xi=1,yi+1=yix_{i+1} - x_i = 1, y_{i+1} = y_i 或 yi+1−yi=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输出 #1
8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3
8
输入 #2输出 #2
------
4 100
10 10
15 25
20 20
30 30
103

说明与提示​

【样例 #3】

见附件中的 point/point3.in 与 point/point3.ans。

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

【样例 #4】

见附件中的 point/point4.in 与 point/point4.ans。

【数据范围】

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

测试点编号n≤n \leqk≤k \leqxi,yi≤x_i,y_i \leq
1∼21 \sim 21010001010
3∼43 \sim 41010100100100100
5∼75 \sim 750050000100100
8∼108 \sim 1050050000109{10}^9
11∼1511 \sim 15500500100100100100
16∼2016 \sim 20500500100100109{10}^9

附件​

point.zip

*练习笔记​

暂无人完成练习,做第一个完成练习的人—-first blood !