YLT C++ 4级 2022.09
N5473 [CIE 202209 四级 T1] 最长上升子序列
题目描述
一个数的序列 ,当 的时候,我们称这个序列是上升的。对于给定的一个序列 ,我们可以得到一些上升的子序列 ,这里 。比如,对于序列 ,有它的一些上升子序列,如 , 等等。这些子序列中最长的长度是 ,比如子序列 . 你的任务,就是对于给定的序列,求出最长上升子序列的长度。
输入格式
输入的第一行是序列的长度 。
第二行给出序列中的 个整数,这些整数的取值范围都在 到 。
输出格式
最长上升子序列的长度。
样例
样例 1
输入:
7
1 7 3 5 9 4 8
输出:
4
提示
无
N5474 [CIE 202209 四级 T2] 神奇的口袋
题目描述
有一个神奇的口袋,总的容积是 ,用这个口袋可以变出一些物品,这些物品的总体积必须是 。 现在有 个想要得到的物品,每个物品的体积分别是 。 可以从这些物品中选择一些,如果选出的物体的总体积是 ,那么利用这个神奇的口袋, 就可以得到这些物品。现在的问题是, 有多少种不同的选择物品的方式。
输入格式
输入的第一行是正整数 ,表示不同的物品的数目。接下来的 行,每行有一个 到 之间的正整数,分别给出 的值。
输出格式
输出不同的选择物品的方式的数目。
样例
样例 1
输入:
3
20
20
20
输出:
3
提示
无
N5475 [CIE 202209 四级 T3] 滑雪
题目描述
喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。 想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为 。当然 更长。事实上,这是最长的一条。
输入格式
输入的第一行表示区域的行数 和列数 。下面是 行,每行有 个整数,代表高度 ,。
输出格式
输出最长区域的长度。
样例
样例 1
输入:
5 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
输出:
25
提示
无
N5476 [CIE 202209 四级 T4] 删除数字
题目描述
娇娇一年级了,刚刚学会了识数和比大小。有一天,她在黑板上写上了一串数字:。接着她擦掉了第一个 ,发现剩下 都在自己的位置上,即: 在第 位, 在第 位, 在第 位。
娇娇希望擦掉某些数后,剩下的数列中在自己位置上的数尽量多。她发现这个问题很有趣,想知道最多能有几个数在自己的位置上,请你帮帮她!
输入格式
第一行,一个整数 ,表示测试数据的组数。 接下来每组数据有两行,第一行:一个整数 ,第二行: 个正整数 。
输出格式
对于每组测试数据,输出一个数表示答案。
样例
样例 1
输入:
3
5
2 1 2 5 4
7
2 2 3 2 4 5 3
10
1 1 2 2 3 3 4 4 5 5
输出:
3
4
5
提示
第一组测试数据:擦掉第一个数, 有 个数在自己的位置上。
第二组测试数据:擦掉第 个、第 个数, 有 个数在自己的位置上。
第三组测试数据:每种相同的数擦掉一个, 有 个数在自己的位置上。
