操作序列(网易)

小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:
1、将a_i放入b序列的末尾
2、逆置b序列
小易需要你计算输出操作n次之后的b序列。

输入描述:
输入包括两行,第一行包括一个整数n(2 ≤ n ≤ 2*10^5),即序列的长度。
第二行包括n个整数a_i(1 ≤ a_i ≤ 10^9),即序列a中的每个整数,以空格分割。
输出描述:
在一行中输出操作n次之后的b序列,以空格分割,行末无空格。
输入例子1:
4
1 2 3 4
输出例子1:
4 2 1 3

恩deque瞎搞

#include <bits/stdc++.h>
int a[200010];
using namespace std;

int main(){
    int n;
    cin >> n;
    deque<int>d;
    for (int i = 0; i < n; ++i){
        cin >> a[i];
        if(i%2==0)d.push_back(a[i]);
        else d.push_front(a[i]);
    }
    if(n%2==1)reverse(d.begin(),d.end());
    for (int i = 0; i < d.size(); ++i) {
        cout <<d[i];
        if (i < d.size()-1)cout<< " ";
        else cout << endl;
    }

    return 0;
}
时间: 2024-12-19 04:03:52

操作序列(网易)的相关文章

[编程题] 操作序列 网易2018

小易有一个长度为n的整数序列,a_1,...,a_n.然后考虑在一个空序列b上进行n次以下操作:1.将a_i放入b序列的末尾2.逆置b序列小易需要你计算输出操作n次之后的b序列. 输入描述: 输入包括两行,第一行包括一个整数n(2 ≤ n ≤ 2*10^5),即序列的长度. 第二行包括n个整数a_i(1 ≤ a_i ≤ 10^9),即序列a中的每个整数,以空格分割. 输出描述: 在一行中输出操作n次之后的b序列,以空格分割,行末无空格. 输入例子1: 4 1 2 3 4 输出例子1: 4 2 1

Python从菜鸟到高手(12):通过索引操作序列元素

1.定义序列   本文将介绍一下在Python语言中如何定义序列.定义序列的语法与Java中的数组类似,使用一对中括号将序列中的元素值括起来.下面的例子创建一个元素类型是字符串的序列,实现代码如下: names = ["Bill", "Mary", "Jack"]   同一个序列,不仅可以包含相同类型的值,还可以包含不同类型的值.下面的例子在一个序列中放置不同类型的值,实现代码如下: values = ["Bill", 30,

codevs3250 操作序列

题目描述 Description Petya是一个非常好玩孩子.他很无聊,因此他开始玩下面的游戏: 他得到一个长度为N的整数序列,他会对这些数字进行操作,他可以把某个数的数值加1或者减1(当然他可以对同一个数操作很多次).他的目的是使得数列非递减,即在修改之后,数列满足a1≤a2≤...≤aN . 请你告诉他,他最少要操作多少次. 输入描述 Input Description 第1行一个整数n. 第2行n个整数 a1.a2.…….an,每两个整数之间用一个空格隔开 输出描述 Output Des

Codeforces Round #174 (Div. 2)---C. Cows and Sequence(操作序列)

Bessie and the cows are playing with sequences and need your help. They start with a sequence, initially containing just the number 0, and perform n operations. Each operation is one of the following: Add the integer xi to the first ai elements of th

CF978B File Name【数组操作/序列判断连续出现&gt;=3次的‘x’个数】

CF978B File Name [分析]:设置计数器cnt,计数x的个数:遇到非x,若cnt>=3的话累加多出的个数,计数器清零:若最后cnt>=3说明没遇到非x无法清零,那后部分就都是x,输出ans+=cnt-2 [代码]: #include<bits/stdc++.h> using namespace std; const int INF = 0x3f3f3f3f; #define ms(a,b) memset(a,b,sizeof(a)) #define rep(i,a,b

序列的通用操作

python中最基本的数据结构就是序列,python中包含6种内建序列,即列表,元组,字符串,Unicode字符串,buffer对象和xrange对象 下列操作对于所有python中所有的序列都适用:包括索引(index),切片(slicing),序列相加(adding),乘法(multiplying),成员资格,长度,最小值和最大值 一.索引 索引用来对单个元素进行访问,既可以对变量的引用操作,也可以直接操作序列,还可以操作函数的返回序列 1.对变量的引用操作: >>> greetin

BZOJ_2962_序列操作_线段树

Description 有一个长度为n的序列,有三个操作1.I a b c表示将[a,b]这一段区间的元素集体增加c,2.R a b表示将[a,b]区间内所有元素变成相反数,3.Q a b c表示询问[a,b]这一段区间中选择c个数相乘的所有方案的和mod 19940417的值. Input 第一行两个数n,q表示序列长度和操作个数. 第二行n个非负整数,表示序列. 接下来q行每行输入一个操作I a b c或者 R a b或者Q a b c意义如题目描述. Output 对于每个询问,输出选出c

不要搜索,出栈序列统计

1627: 出栈序列统计 时间限制: 1 Sec  内存限制: 128 MB 题目描述 栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列.你已经知道栈的操作有两·种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出.现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列.请你编程求出对于给定的n,计算并输出由操作数序列1,2,-,n,经过一系列操作可能得到的输出序列总数. 输入 一个整数n(1<=n<=15) 输出 一个整数,即可能输出序列的总数

简单sql操作

----------------------------- 数据库的有关SQL语句 -------------------------1.数据库 创建 create database data_name on primary (name= ,filename= ,size= ,maxsize= ,filegrowth=), filegroup [辅助文件组名] (name= ,filename= ,size= ,maxsize= ,filegrowth=) log on (name= ,file