B. Sorted Adjacent Differences(思维构造)
2024-09-07 13:44:01
\(给出n个数字,要求构造一个由这n个数组成的序列,使得|a_1-a_2|<=|a_2-a_3|...<=|a_{n-1}-a_n|\)
\(排序后,从数列中间取个数,然后从左右分别循环取数,这样保证差值递增\)
\(还是很巧妙地.\)
#include <bits/stdc++.h>
using namespace std;
int t,n,a[100009];
int main()
{
cin>>t;
while(t--)
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
cout<<a[(n+1)/2]<<" ";
int l=(n+1)/2-1,r=(n+1)/2+1,ok=0;
while(1)
{
if(ok==0) cout<<a[r++]<<" ",ok=1;
else cout<<a[l--]<<" ",ok=0;
if(r==n+1&&l==0) break;
}
cout<<endl;
}
}
最新文章
- java学习笔记(1)
- 在android开发中使用multdex的方法-IT蓝豹为你整理
- .Net分布式异常报警系统-项目介绍
- 有效的PhoneGap CSS: WebKit Tap Highlight Color
- mac 下周期调度命令或脚本
- php开发中的页面跳转方法总结
- PHP高效的敏感词过滤方法
- 30+WordPress古典风格的主题-古典却不失时尚
- iOS纯代码工程手动快速适配
- Elasticsearch(GEO)空间检索查询
- css为超过一定宽度的文本内容自动加上省略号
- 【NOIP2015普及组】推销员_详解
- 1、docker容器技术基础入门
- python中时间、日期、时间戳的转换
- java实现超大整数加减乘除四则运算
- 【Git使用详解】Egit的常用操作详解
- POJ 3630 Phone List(字符串前缀重复)题解
- vue小常识小注意
- 使用mshta.exe绕过应用程序白名单(多种方法)
- 【20181102T2】飞越行星带【智商题+最小瓶颈路】