[CSP-J 2022] 上升点列

Luogu
IDLGP8816
Time1000ms
Memory512MB
DifficultyP3
动态规划 DP2022O2优化CSP-J 入门级
在一个二维平面内,给定 $n$ 个整数点 $(x_i, y_i)$,此外你还可以自由添加 $k$ 个整数点。 你在自由添加 $k$ 个点后,还需要从 $n + k$ 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 $1$ 而且横坐标、纵坐标值均单调不减,即 $x_{i+1} - x_i = 1, y_{i+1} = y_i$ 或 $y_{i+1} - y_i = 1, x_{i+1} = x_i$。请给出满足条件的序列的最大长度。 ## Input 第一行两个正整数 $n, k$ 分别表示给定的整点个数、可自由添加的整点个数。 接下来 $n$ 行,第 $i$ 行两个正整数 $x_i, y_i$ 表示给定的第 $i$ 个点的横纵坐标。 ## Output 输出一个整数表示满足要求的序列的最大长度。 [samples] ## Note **【样例 \#3】** 见附件中的 `point/point3.in` 与 `point/point3.ans`。 第三个样例满足 $k = 0$。 **【样例 \#4】** 见附件中的 `point/point4.in` 与 `point/point4.ans`。 **【数据范围】** 保证对于所有数据满足:$1 \leq n \leq 500$,$0 \leq k \leq 100$。对于所有给定的整点,其横纵坐标 $1 \leq x_i, y_i \leq {10}^9$,且保证所有给定的点互不重合。对于自由添加的整点,其横纵坐标不受限制。 | 测试点编号 | $n \leq$ | $k \leq$ | $x_i,y_i \leq$ | | :-----------: | :-----------: | :-----------: | :-----------: | | $1 \sim 2$ | $10$ | $0$ | $10$ | | $3 \sim 4$ | $10$ | $100$ | $100$ | | $5 \sim 7$ | $500$ | $0$ | $100$ | | $8 \sim 10$ | $500$ | $0$ | ${10}^9$ | | $11 \sim 15$ | $500$ | $100$ | $100$ | | $16 \sim 20$ | $500$ | $100$ | ${10}^9$ |
Samples
Input #1
8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3
Output #1
8
Input #2
4 100
10 10
15 25
20 20
30 30
Output #2
103
API Response (JSON)
{
  "problem": {
    "name": "[CSP-J 2022] 上升点列",
    "description": {
      "content": "在一个二维平面内,给定 $n$ 个整数点 $(x_i, y_i)$,此外你还可以自由添加 $k$ 个整数点。 你在自由添加 $k$ 个点后,还需要从 $n + k$ 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 $1$ 而且横坐标、纵坐标值均单调不减,即 $x_{i+1} - x_i = 1, y_{i+1} = y_i$ 或 $y_{i+1} - y_i ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8816"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "在一个二维平面内,给定 $n$ 个整数点 $(x_i, y_i)$,此外你还可以自由添加 $k$ 个整数点。\n\n你在自由添加 $k$ 个点后,还需要从 $n + k$ 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 $1$ 而且横坐标、纵坐标值均单调不减,即 $x_{i+1} - x_i = 1, y_{i+1} = y_i$ 或 $y_{i+1} - y_i ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments