luogu#P9741. 「KDOI-06-J」翻转与反转
「KDOI-06-J」翻转与反转
题目描述
小 W 有一个长度为 的 序列 ,他将对这个序列按顺序进行 次操作。
在第 次操作中(),小 W 将按顺序执行以下两种变换:
- 将区间 中的数按下标翻转。形式化地说,在这次变换之后,序列 将变为 $a_i,a_{i-1},\ldots,a_{1},a_{i+1},a_{i+2},\ldots,a_n$。
- 将区间 中的数按值翻转。形式化地说,在这次变换之后,对于任意 ,若 ,则 将变为 ,否则 将变为 。
小 W 想要知道,在全部 次操作结束后,序列 中每个元素的值。
输入格式
从标准输入读入数据。
输入的第一行包含一个正整数 ,表示序列长度。
接下来一行 个整数,表示序列 。保证 或 。
输出格式
输出到标准输出。
输出包含一行 个整数,表示操作结束后序列 中每个元素的值。
3
1 1 1
0 0 1
8
1 0 1 1 1 0 0 1
0 1 0 1 1 1 1 0
提示
【样例解释 #1】
序列 的变化如下表所示:
操作次数 | 序列 的变化 |
---|---|
【样例解释 #2】
序列 的变化如下表所示:
操作次数 | 操作后的序列 |
---|---|
- | |
【样例 #3】
见选手文件中的 revflip/revflip3.in
与 revflip/revflip3.ans
。
【样例 #4】
见选手文件中的 revflip/revflip4.in
与 revflip/revflip4.ans
。
【数据范围】
对于所有数据保证:,且对于任意 , 或 。
测试点编号 | 特殊性质 | |
---|---|---|
无 | ||
无 |