如何优化代码?
  • 板块学术版
  • 楼主sunny12888
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/4 16:19
  • 上次更新2024/10/4 18:12:16
查看原帖
如何优化代码?
790275
sunny12888楼主2024/10/4 16:19
#include <bits/stdc++.h>
using namespace std;

const int MAXN=100001;
int n,m1,m2;
int s;
struct times{
	int begin,end;
};
int total(times t[],int m,int q){
	int tt=0;
	int a[q]={};  
	if(q==0)return 0;
	for(int i=0;i<m;i++){
		for(int j=0;j<q;j++){
			if(a[j]<t[i].begin){
				a[j]=t[i].end;
				tt++;
				break;
			}
		}
	}   
	return tt;
}
times t1[MAXN],t2[MAXN];

bool cmp(times a,times b){
	return a.begin<b.begin;
}
int main(){
	cin.sync_with_stdio(false);
	cin>>n>>m1>>m2;
	for(int i=0;i<m1;i++){
		cin>>t1[i].begin>>t1[i].end; 
	}
	for(int i=0;i<m2;i++){
		cin>>t2[i].begin>>t2[i].end; 
	} 
	sort(t1,t1+m1,cmp);
	sort(t2,t2+m2,cmp);
	for(int i=0;i<=n;i++){
		s=max(s,total(t1,m1,i)+total(t2,m2,n-i));
	}
	cout<<s<<endl;
}

感谢!(时间复杂度太高)

题目传送 提交记录

2024/10/4 16:19
加载中...