最少拦截系统(LIS)
题目:最少拦截系统
题解:LIS问题,求最长升序子序列。
#include
using namespace std;
typedef long long ll;
const int N = 7e6+10;
const int inf = 0x7FFFFFFF;int f[N];
int ans = 0;void solve(int x){if(ans == 0 || x > f[ans-1]) {f[ans++] = x;return;}int k = lower_bound(f,f+ans,x)-f;f[k] = x;
}
int main(){int x,n;while(~scanf("%d",&n)){memset(f,0,sizeof f);ans = 0;while(n--){scanf("%d",&x);solve(x);}cout<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
