Codeforces Round #723 (Div. 2) A. Mean Inequality(构造)
Posted issue是fw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #723 (Div. 2) A. Mean Inequality(构造)相关的知识,希望对你有一定的参考价值。
比赛的时候直接用
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!=2bi−1+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 b2n−1 b3 b2n−2...
这样每个数要么比两边的数都大,要么比两边的数都小,所以一定可以.
#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