#P11105. [ROI 2023] 解密(数据有误) (Day 1)

    ID: 10267 远端评测题 10000ms 1000MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2023交互题Special Judge通信题Ad-hocROI(俄罗斯)

[ROI 2023] 解密(数据有误) (Day 1)

Description

帮助 Alesya 和 Boris 设计和实现 BASE23 的加密和解密算法。

在本题中,你的程序需要实现下面两个函数(不需要编写 main 函数):

std::vector<int> Encode(int n, int k, std::vector<int> T){
	// 加密过程
	return R;
}
std::vector<int> Decode(int n, int k, std::vector<int> R){
	// 解密过程
	return T;
}

你的 Encode 函数将扮演 Alesya 的角色,对数组进行加密。而 Decode 函数则将扮演 Boris 的角色,通过解密来得到原来的数组。TTRR 都按照递增顺序排列

刚开始,交互库会根据该数据点的数据调用你编写的 Encode 函数,根据它的返回值判断该加密算法是否合法。接着,交互库调用 Decode 函数,判断它的返回值是否与原来的数据相同。如果相同,则认为这一份 BASE23 加解密代码是正确的。

交互库会多次调用这两个函数,对应了原题中有多组数据。交互库会先将每组数据的 TT 全部加密,接着再按随机顺序把它们解密。具体的数据范围限制见“说明/提示”部分。

Input Format

使用函数交互,程序不需要进行输入。

Output Format

使用函数交互,程序不需要进行输出。

Hint

交互库调用两个函数的次数(即数据组数)都不超过 300000300000。对于每一组数据,2n109,1k300000,kn22\le n\le 10^9,1\le k\le300000,k\le\frac n2。对于每一个测试点,k300000\sum k\le300000

原题的加、解密时间限制均为 1s1\text{s},空间限制均为 512MB512\text{MB},不过由于在洛谷实现通信题的方式特殊,本题由特殊的时空限制。(目前的时空限制可能无法通过本题 qwq)

如果你在本题莫名 CE,你可以尝试换一个语言提交。

当你 UKE 时,查看你的错误提示。如果提示中含有“timeout”,应该是超时了。

交互库编写:

/user/542457