Colo.

Luogu
IDLGP9688
Time1000ms
Memory512MB
DifficultyP3
动态规划 DP洛谷原创O2优化背包 DP洛谷月赛
小 F 和小 Y 经常在一起玩耍,因为小 F 是一个画家,他喜欢在一个长度为 $n$,宽度为 $1$ 的网格图上画画,从左往右第 $i$ 个方格被涂成了一种颜色 $a_i$。 你觉得他的随意涂鸦太难看了,想要保留恰好 $k$ 种颜色(**你不能保留没在网格图上出现的颜色**),使得网格图上没被涂成任何一种你喜欢的颜色的网格都被剪掉,最后会剩下一些网格,你希望这些网格从左到右颜色的编号是单调不下降的。 此外,小 Y 使用的第 $i$ 种颜色有一个价值 $b_i$,小 Y 看到了你裁剪后的网格图很是高兴,于是决定付给你你选择的颜色的价值总和。 你需要求出你能够获得的最大的价值是多少。 ## Input 第一行两个整数 $n,k$,表示小 Y 画画的网格图的大小和你需要保留颜色的种类数。 第二行 $n$ 个整数 $a_i$,表示小 Y 画出来的网格图从左往右第 $i$ 个格子的颜色。 第三行 $n$ 个整数 $b_i$,表示第 $i$ 种颜色的价值。 ## Output 一行一个整数,表示你能够获得的最大价值;特别地,如果无法找到选择颜色的方法满足要求,输出 $-1$。 [samples] ## Note #### 【样例解释 #1】 对于第一组样例,我们可以选择 $1$ 号和 $3$ 号颜色保留,剩下的网格图即为 $[1,1,3]$,满足单调不下降这一个限制,获得的价值即为 $b_1+b_3=5+1=6$,可以证明这是最优的办法。 #### 【数据范围】 对于所有测试数据,满足 $1 \le n \le 500$,$1 \le k \le 500$,$1 \le a_i \le n$,$1 \le b_i \le 10^9$。 **本题开启捆绑测试,所有数据范围均相同的测试点捆绑为一个 $\text{Subtask}$。** 各测试点的附加限制如下表所示。 | 测试点 | $n,k \le $ | 特殊性质 | | :-----------: | :-----------: | :-----------: | | $1 \sim 3$ | $10$ | 无 | | $4 \sim 5$ | $100$ | 无 | | $6 \sim 10$ | $500$ | 不同的颜色不超过 $10$ 种 | | $11 \sim 15$ | $500$ | 每种颜色出现的次数不超过 $2$ 次 | | $16 \sim 20$ | $500$ | 无 |
Samples
Input #1
5 2
1 2 1 3 2
5 3 1 100 100
Output #1
6
Input #2
10 3
1 3 4 2 9 3 4 2 5 1
1 5 2 3 9 8 1 2 3 10
Output #2
-1
API Response (JSON)
{
  "problem": {
    "name": "Colo.",
    "description": {
      "content": "小 F 和小 Y 经常在一起玩耍,因为小 F 是一个画家,他喜欢在一个长度为 $n$,宽度为 $1$ 的网格图上画画,从左往右第 $i$ 个方格被涂成了一种颜色 $a_i$。 你觉得他的随意涂鸦太难看了,想要保留恰好 $k$ 种颜色(**你不能保留没在网格图上出现的颜色**),使得网格图上没被涂成任何一种你喜欢的颜色的网格都被剪掉,最后会剩下一些网格,你希望这些网格从左到右颜色的编号是单调不下降",
      "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": "LGP9688"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "小 F 和小 Y 经常在一起玩耍,因为小 F 是一个画家,他喜欢在一个长度为 $n$,宽度为 $1$ 的网格图上画画,从左往右第 $i$ 个方格被涂成了一种颜色 $a_i$。\n\n你觉得他的随意涂鸦太难看了,想要保留恰好 $k$ 种颜色(**你不能保留没在网格图上出现的颜色**),使得网格图上没被涂成任何一种你喜欢的颜色的网格都被剪掉,最后会剩下一些网格,你希望这些网格从左到右颜色的编号是单调不下降...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments