Eliminating Balls With Merging (Easy Version)
这是本题的简单版本。该版本唯一区别是 。你必须解决两个版本,才可以进行 hack。
给定两个整数 和 ()。有 个球排成一行,从左到右编号 到 。初始时,第 个球上写有数值 。
对于每一个整数 从 到 ,我们定义函数 如下:
-
假设集合 。
-
在每一次操作中,你必须从集合 选出一个整数 (), 不能是集合 的最大元素。记 为集合 中大于 的最小元素。
-
如果 :令 ,并把 从集合 中删除。
-
如果 :令 ,并把 从集合 中删除。
-
如果 :你可以选择删除 或者删除 :
-
若选择删除 :令 ,并把 从集合 中删除。
-
若选择删除 :令 ,并把 从集合 中删除。
-
-
代表整数 ()的数量:经过恰好 次上述操作后,可以让集合 。
对于每一个整数 从 到 ,求 。
第一行包含整数 (),代表测试用例数量。
每个测试用例第一行包含两个整数 ():球的数量,以及需要计算 的最小下标 。
每个测试用例第二行包含 (),每个球上初始写的数字。
保证所有测试用例的 之和不超过 。
对每个测试用例,在新的一行输出 个空格分隔的整数,其中第 个整数代表 。
3 5 5 1 2 3 2 1 7 7 4 5 1 2 1 4 5 11 11 1 2 3 1 1 9 3 2 4 1 3
3 4 4
在第一个测试用例,你需要计算 。可以证明,经过 次操作之后,集合 可以包含 。下面展示得到集合 的操作序列:
-
初始 ,。
-
选择 ,自然 。因为 ,令 ,把 从 删除。现在 ,。
-
选择 ,自然 。因为 ,令 ,把 从 删除。现在 ,。
-
选择 ,自然 。因为 ,我们可以选择删除 或者 。为了保留 ,我们删除 。令 ,把 从 删除。现在 ,。
-
选择 ,自然 。因为 ,令 ,把 从 删除。最终 ,。
第二个测试用例需要计算 。可以证明,经过 次操作后,集合 可以包含 。

