题目背景
「天将化雨舒清景,萌动生机待绿田」
在天依面前口口声声说着习惯了,才开学没几天,文化课和乐队训练的压力可是又让阿绫头疼呢。
浓缩为一个晚上的周末。站在阳台上,摸索朦胧于雨声的城市轮廓。雨水之日的雨,对于眼前的高楼大厦——们,恐怕也难有一些别样的意境吧。
“雨水节令的雨、白露节令的露、霜降节令的霜、小雪节令的雪各十二钱……”
胡乱想着,阿绫噗嗤一声笑了出来,“但是不管在哪里,雨中的空气,雨后的初阳,总是清新得叫人欢喜。”向着雨幕笑笑,拨弄这手里的旧吉他,不知不觉哼起那首歌来。
雨水 「等凉雨 的温度 将不安燥热中和 寻觅着 风的波折」
题目描述
身后的门被敲响,接过天依包回来的一大盒多肉,放下东西贴贴一会儿之后,她们决定把多肉们在阳台上排成一排。
多肉们的高度不尽相同,天依先将一共 n 盆多肉随意排成一排,从左到右第 i 盆的高度为 ai。为了美观,她希望交换某些多肉的位置,使得由高度组成的序列 A 的字典序尽可能小,不过,为了照顾多肉们的感受(?)她要求阿绫只能选取 A 的一个长度为偶数的子序列(长度可以为 0),交换序列里第 1 盆和第 2 盆,第 3 盆和第 4 盆……的位置,然后放回它们原来的位置中。
苦活交给了阿绫,思考的工作自然交给你啦!请告诉阿绫,仅使用一次选取子序列的操作,她能够得到的字典序最小的新高度序列 A′。
形式化题意
给定一个长为 n 的整数序列 A,下标从 1 开始。你可以任取一个自然数 k 以及一个序列 ⟨1,2,…,n⟩ 的,长度为 2k (k∈N) 的子序列 P,并对于所有 i=1,2,…,k,交换 AP2i−1 与 AP2i 的值。求在所有可能得到的新序列 A′ 中,字典序 最小的序列。
字典序:对于长度为 n 的序列 A 和 B,定义 A 的字典序小于 B,当且仅当:
∃i∈[1,n],(∀j∈[1,i),Aj=Bj)∧Ai<Bi.注意:本题输入输出方式具有特殊性。详见「输入格式」与「输出格式」。
输入格式
为节省程序输入耗时,序列 A 将在你的程序内部由 xorShift128Plus
和提供的种子生成。下面给出 C++ 语言下的示例程序:
输入文件仅有一行,包含四个整数 n,k1,k2,thres。
程序读入序列长度 n,种子 k1,k2 和序列值上限 thres,用 xorShift128Plus
连续生成 n 个随机数,将它们对 thres 取模的值依次赋给 a1,a2,⋯,an,得到序列 A。请使用其他语言的选手自行查阅相关信息实现生成器。
输出格式
为节省程序输出耗时,你的程序应当输出一行一个整数,表示 (∑i=1ni×Ai′)mod264 的值。
提示
样例 #1 解释
生成的序列为 A=⟨1,1,3,0,0,1,3⟩,选取 k=1,P=⟨1,5⟩, 得到答案序列为 A′=⟨0,1,3,0,1,1,3⟩,按照要求计算知答案为 43。
样例 #2 解释
生成的序列为 A=⟨2,8,0,6,2,2,1,7,8,3⟩,选取 k=3,P=⟨1,3,4,7,8,10⟩, 得到答案序列为 A′=⟨0,8,2,1,2,2,6,3,8,7⟩,按照要求计算知答案为 256。
数据规模与约定
本题采用 Subtask 的计分方式。
对于 100% 的测试数据,1≤n≤107,2≤thres≤109,0≤k1,k2<264。
对于不同的子任务,作如下约定:
子任务编号 |
n |
thres |
特殊性质 |
分值 |
1 |
≤105 |
≤109 |
有 |
10 |
2 |
≤20 |
≤10 |
无 |
15 |
3 |
≤107 |
=2 |
20 |
4 |
≤107 |
25 |
5 |
≤109 |
30 |
-
特殊性质:保证程序正确生成的序列 A 中不存在相等元素。
-
注意:本题时限为 0.5s。
-
热知识:《世末歌者》演唱于夏日,显然不在雨水节气。