IAML's Blog

Find passion in coding

poj1836 Alignment

这题对题意的理解是一个关键。一开始以为是求最大递增序列或最大递减序列,然后看discuss,发现是求一个序列,该序列中有一个最大值max,然后从0到max是递增的,然后max+1到n-1是递减的。一开始的时候,用了超级暴力的dp,然后tle了,之后发现可以通过预处理来减少时间耗费。先分别从0到n-1和n-1到0求出LIS。之后枚举中间最大值,求出相应的那个序列的长度,再从所有长度中求出最大值,这个值就是最长的符合要求的序列。最后就只要用n减去那个数,就是要出列的人数了。

继续阅读