当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

5712:D++游戏

题目描述
众所周知,度度熊喜欢的字符只有两个:B 和D。

今天,它发明了一个游戏:D游戏。

度度熊的英文并不是很高明,所以这里的D,没什么高深的含义,只是代指等差数列[(等差数列百科)](http://baike.baidu.com/view/62268.htm)中的公差D。

这个游戏是这样的,首先度度熊拥有一个公差集合$\{D\}$,然后它依次写下$N$个数字排成一行。游戏规则很简单:

1.在当前剩下的有序数组中选择$X (X \geq 2)$ 个连续数字;

2.检查1 选择的$X$个数字是否构成等差数列,且公差 $d\in \{D\}$;   

3.如果2满足,可以在数组中删除这$X$个数字;

4.重复 $1 - 3$ 步,直到无法删除更多数字。
度度熊最多能删掉多少个数字,如果它足够聪明的话?

为了挑战自己,度度熊给D游戏多设了一个条件,$X_{min}$和$X_{max}$,在游戏的第一步,选出$X$个连续数字时,必须满足$X_{min} \leq X \leq X_{max}$。它称这个游戏为D++游戏。

同时精益求精的度度熊还希望知道删掉最多数字的最少步数。
输入解释
第一行为$T$,表示输入数据组数。

每组数据以四个整数 $N$,$M$,$X_{min}$,$X_{max}$ 开始 。接着的一行包括 $N$ 个整数,表示排成一行的有序数组 $A_{i}$。接下来的一行是 $M$ 个整数,即给定的公差集合 $D_{i}$。

$1\leq T\leq 100$

$1 \leq N, M \leq 32$

$2 \leq X_{min} \leq X_{max} \leq 16$

$-1\ 000\ 000\ 000 \leq A_{i}, D_{i} \leq 1\ 000\ 000\ 000$
输出解释
对第$i$组数据,输出

Case #i:

然后输出一行,为最多能删掉的数字和完成这个目标的最小步数,用空格隔开。
输入样例
3
3 1 2 2
1 2 3
1
3 1 2 3
1 2 3
1
4 2 2 4
1 3 4 3
1 2
输出样例
Case #1:
2 1
Case #2:
3 1
Case #3:
4 2
来自杭电HDUOJ的附加信息
Recommend liuyiding

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-5712

最后修改于 2020-10-25T23:25:01+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
6000/3000MS(Java/Others) 65536/65536K(Java/Others)