调了半个月了,间歇着调,一直不对
查看原帖
调了半个月了,间歇着调,一直不对
326254
LonginusMonkey楼主2022/8/10 22:47

向大佬求助!

#include<bits/stdc++.h>
using namespace std;
int arr2[100010];
struct node{
	int a, b; 
};
node arr[100010];
vector<int> vec;
bool cmp(node a, node b) {
	return a.a < b.a;
}
int main() {
	int n;
	cin >> n;
	for(int i=1; i<=n; ++i) {
		cin >> arr[i].a;
	}
	for(int i=1; i<=n; ++i) {
		cin >> arr[i].b;
	}
	sort(arr+1,arr+1+n,cmp);
	for(int i=1; i<=n; ++i) {
		arr2[i] = arr[i].b;
	}
	vec.push_back(arr2[1]);
	for(int i=2; i<=n; ++i) {
		if(arr2[i] > vec[vec.size()-1]) {
			vec.push_back(arr2[i]);
		}
		else
		{
			int u = lower_bound(vec.begin(),vec.end(),arr2[i])-vec.begin();
			vec[u] = arr2[i];
		}
	}
	cout << vec.size();
	return 0;
}
2022/8/10 22:47
加载中...