题目大意是给出n组包含2个关键字的元素,求同时满足第一个关键字递增和第二个关键字递减的序列的最长长度以及输出其中一个满足条件的序列。
对于要求两个关键字同时分别满足不降/不升,我们可以先对一个关键字进行排序,则实际上只需对另一个关键字进行DP即可求解。由于n<=1000所以用O(n^2)的DP就可以AC了。不过实际上用O(nlogn)的DP也是可以做的,只是因为存在相同数字的情况不能直接顺推,需要对序列求反(即对排序关键字的条件取反),利用一个数组记录下更新序列过程中更新的每一个元素在序列中的前一个元素,最后倒推出整个合法的序列。
3002145 2008-07-24 15:07:51 Accepted 1108 FPC 00:00.00 412K IwfWcf@LZOI