【困难问题】数组笛卡尔积的排序
问题内容:给定一个数组 \(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)\)
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号