题目描述
给定序列 和 ,求它们的最长公共子序列
子序列的定义参考题目 最长上升子序列
输入格式
第一行两个整数 代表序列 的长度
非淡泊无以明志,非宁静无以致远
对于一个整数序列 A=(a1,a2,…,ak),定义 A 的子序列为:从 A 中删除若干个元素后(允许不删,也允许将所有 k 个元素都删除),剩下的元素按照原来的顺序所组成的序列。如果这个子序列的元素从左到右严格递增,则称它为 A 的一个上升子序列。其中包含元素数量最多的上升子序列称为 A 的最长上升子序列。例如,(2,4,5,6) 和 (1,4,5,6) 都是 (2,1,1,4,7,5,6) 的最长上升子序列,长度都为 4。
那么,给定一个序列 A=(a1,a2,…,an), 求 A 的最长上升子序列的长度
第一行一个整数 n ,代表序列 A 的长度
有N件物品和一个容量为V的背包,将所有的物品划分成若干组,每个组里面的物品最多选一件。第i件物品的重量是w[i],价值是c[i],属于组k[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。
第一行为N(1≤N≤103),V(1≤V≤103)。
下面N行,第i行描述第i个物品的w[i](1≤w[i]≤102),c[i](1≤c[i]≤106),k[i](1≤k[i]≤102),用一个空格分隔。
lzh 在火星开了一家饭店,为了吸引顾客,饭店会不定期在菜谱中加入新菜,每个菜都有一个美味度 l(0≤l<p)。
饭店使用手机进行点餐,手机上展示的菜谱会按照更新的顺序逆序排列。由于不同顾客的手机屏幕分辨率大小不同,所以能够显示在第一屏的菜谱的数量也不同。根据调查发现,火星用户只会在第一屏的菜品中选择美味度最高的购买。
现在按照时间顺序输入 m 个添加菜品或顾客点菜的操作,请输出每位点菜顾客所点的菜的美味度。