您的位置:首页 > 其它

POJ 1887 Testing the CATCHER[最长非升子序列O(nlog(n))]

2010-07-13 09:34 337 查看
题型:同Poj 1631.

思路:注意非升子序列需要考虑相等的情况,在二分的时候需要注意。

if (x > best[0]) {
best[0] = x;
continue;
}
if (x <= best[sol-1]) { //key
best[sol++] = x;
continue;
}
int low = 0, high = sol-1, mid, ans;
while (low <= high) { //key
mid = (low+high)/2;
if (best[mid] < x) {
high = mid - 1;
ans = mid;
}else if (best[mid] > x) {
low = mid + 1;
}else {
low = mid + 1;
ans = mid;
}
}
best[ans] = x;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: