Codeforces Round #723 (Div. 2) A. Mean Inequality(构造)

Posted issue是fw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #723 (Div. 2) A. Mean Inequality(构造)相关的知识,希望对你有一定的参考价值。

LINK

比赛的时候直接用 r a n d o m _ s h u f f l e ( ) \\rm random\\_shuffle() random_shuffle()水过去的

题意

给定长度 2 n 2n 2n的数组,要求重排数组,使得 b i ! = b i − 1 + b i + 1 + 1 2 b_i!=\\frac{b_{i-1}+b_{i+1}+1}{2} bi!=2bi1+bi+1+1

b 0 = b 2 n , b 2 n + 1 = b 1 b_0=b_{2n},b_{2n+1}=b_1 b0=b2n,b2n+1=b1


我们对数组 b b b排序后按照如下方式构造

b 1   b 2 n   b 2   b 2 n − 1   b 3   b 2 n − 2 . . . b_1\\ b_{2n}\\ b_2\\ b_{2n-1}\\ b_3\\ b_{2n-2}... b1 b2n b2 b2n1 b3 b2n2...

这样每个数要么比两边的数都大,要么比两边的数都小,所以一定可以.

#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e5+10;
int a[maxn],n;
int main()
{
	int t; cin >> t;
	while( t-- )
	{
		cin >> n;
		for(int i=1;i<=n*2;i++)	cin >> a[i];
		sort( a+1,a+1+2*n );
		for(int i=1;i<=n;i++)
			printf("%d %d ",a[i],a[2*n-i+1] );
		puts("");
	}
}

以上是关于Codeforces Round #723 (Div. 2) A. Mean Inequality(构造)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #723 (Div. 2)Codeforces-1526ABCD

Codeforces Round #723 (Div. 2)Codeforces-1526ABCD

Codeforces Round #723 (Div. 2)

Codeforces Round #723 (Div. 2), A. Mean Inequality

Codeforces Round #723 (Div. 2)B. I Hate 1111

Codeforces Round #723 (Div. 2)