【征求做法】数组笛卡尔积的排序

问题内容:给定一个数组 \(A\),求数组 \(A\) 中两两元素相加后和排序后的数组(要求基于比较)。

形式化的,给出代码:

int n;
cin>>n;
vector<int> a(n);
for(int i=0;i<n;i++){
	cin>>a[i];
}
vector<int> b;
for(int i=0;i<n;i++){
	for(int j=0;j<n;j++){
		b.push_back(a[i]+b[j]);
	}
}
sort(b.begin(),b.end());
for(auto x:b){
	cout<<x<<' ';
}cout<<endl;

或证明,基于比较做不到 \(O(n^2)\)

posted @ 2024-05-27 16:18  皮皮的橙子树  阅读(15)  评论(0编辑  收藏  举报