-
个人简介
#include using namespace std;
const int MAX_N = 100010; int a[MAX_N], lis[MAX_N];
int main() { int n; cin >> n; for (int i = 0; i < n; ++i) { cin >> a[i]; a[i] -= i; // 转换为非严格递增问题 }
int len = 0; for (int i = 0; i < n; ++i) { // 二分查找第一个大于a[i]的位置 int left = 0, right = len; while (left < right) { int mid = (left + right) / 2; if (lis[mid] > a[i]) { right = mid; } else { left = mid + 1; } } if (left == len) { lis[len++] = a[i]; } else { lis[left] = a[i]; } } cout << n - len << endl; return 0;
}
-
通过的题目
-
最近活动
- DP作业6 作业
- DP作业5 作业
- DP作业4 作业
- DP作业3 作业
- DP作业2:线性DP 作业
- DP作业1 作业
- 并查集初步作业 作业
- 哈夫曼树作业 作业
- 堆的基本作业 作业
- 二叉树的遍历 作业
- 二叉树的性质 作业
- 树的基本作业 作业
- 递推递归进阶 作业
- 链表 作业
- 链表 作业
- 科学创新实验班作业6 作业
- 科学创新实验班作业5 作业
- 科学创新实验班作业4 作业
- 科学创新实验班作业3 作业
- 科学创新实验班作业2 作业
- 科学创新实验班作业1 作业
- 期末考试前最后一次作业 作业
- 分治2 作业
- 分治1 作业
- 5月小赛(明正华) IOI
- 高精度作业2 作业
- 高精度作业1 作业
- 递推2 作业
- 递推作业 作业
- 宽搜作业 作业
- 贪心作业 作业
-
最近编写的题解
题目标签
- 基础问题
- 22
- 动态规划
- 20
- 分支问题
- 14
- 递推
- 11
- 数据结构
- 9
- 简单循环
- 8
- 贪心
- 7
- 高精度算法
- 7
- 搜索
- 7
- 背包
- 7
- 嵌套循环
- 6
- 分治
- 5
- 递归
- 5
- 广搜
- 5
- 并查集
- 5
- 二叉树
- 5
- 字符串
- 4
- 深搜
- 4
- 树结构
- 4
- 堆
- 4