题型:同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;

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
  • 2022-02-13
  • 2021-05-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-06
  • 2022-12-23
  • 2021-10-24
  • 2021-07-16
  • 2021-05-23
  • 2021-07-15
相关资源
相似解决方案