SP6700 GCJ101AB - Make it Smooth
题目描述
你有一个包含 **N** 个像素的一维数组。每个像素的值是一个介于 0 到 255 之间的整数。两个像素之间的距离定义为它们数值的绝对差。
你可以通过执行以下任意操作,使数组变得“平滑”:
1. 以成本 **D** 删除任意一个像素,这会使得相邻的像素成为新的相邻项。
2. 以成本 **I** 在任意位置插入一个任意值的像素,可以在已有像素之间、第一像素之前或最后一个像素之后插入。
3. 改变任意像素的值,成本等于像素新旧值之间的绝对差。
如果任意一对相邻像素的距离不超过 **M**,则称该数组为“平滑”的。请计算出让数组达到“平滑”状态所需的最低成本。
特别提示:如果数组为空(不包含任何像素),则自动视为“平滑”。
输入格式
第一行输入一个整数 **T**,表示测试用例的数量。接下来的 **T** 个测试用例,每个由两行构成。第一行为四个整数 "**D I M N**",第二行为 **N** 个整数 **a $_{i}$**,代表像素的值,顺序从左到右。
输出格式
对于每个测试用例,输出一个格式为 "Case #x: y" 的结果,其中 x 是测试用例的编号(从 1 开始),y 是数组达到平滑状态的最低成本。
**本翻译由 AI 自动生成**