首页 > 虎龙斗
头像 02PHC
发表于 2021-07-11 15:49:22
B题处理出A数组选i个(1<=i<=n)的字典序最大的子序列,把B的也处理出来在枚举用A的x个和用B的l-x个,将答案存下最后排序输出最大的即可 #include<iostream> #include<cstring> #include<cstdio> 展开全文
头像 Tony102
发表于 2021-07-10 23:57:25
因为 中选出的士兵可以交错排布,所以我们需要先讨论从 中分别选出多少士兵。假设从 中选出 人,从 中选出 人() ,我们先要在各个数组中尽量选出最大的冲锋序列,然后在将两个冲锋序列合并即可。对于选出最大的冲锋序列,我们可以用单调栈完成(栈底到栈顶的元素递减);对于合并,我们可以用双指针完 展开全文