#P9547. [湖北省选模拟 2023] 路环群山 / mountain

    ID: 8861 Type: RemoteJudge 2000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>2023Special JudgeO2优化湖北

[湖北省选模拟 2023] 路环群山 / mountain

题目描述

某二维世界中有一个山地,山体可以用一个函数 f(x)f(x) 描述,其表示横坐标 xx 的位置海拔高度为 h=f(x)h=f(x)。这个世界里有 n+mn+m 只羊,其中有 nn 只山羊和 mm 只绵羊。我们知道第 ii 只山羊所在的横坐标是 pip_i,第 jj 只绵羊所在的横坐标是 qjq_j,但不知道它们所在的高度。不过,我们知道山羊们所在的位置海拔集中在一个较高的范围,而绵羊们所在的位置海拔集中在一个较矮的范围。你需要根据山羊和绵羊的分布情况猜测山体形态 f(x)f(x),使得山羊高度的方差和绵羊高度的方差都尽可能小,同时山羊高度尽可能高于绵羊高度。

形式化地,令

uˉ=1ni=1nf(pi)\bar{u}=\frac{1}{n}\sum_{i=1}^n f(p_i) vˉ=1mj=1mf(qi)\bar{v}=\frac{1}{m}\sum_{j=1}^m f(q_i)

表示山羊、绵羊分别的平均高度,你的目标就是构造函数 ff,最小化代价

$$\operatorname{cost}(f)=\frac{1}{\bar{u}-\bar{v}}\sqrt{\left[\sum_{i=1}^n (f(p_i)-\bar{u})^2\right]+\left[\sum_{j=1}^m (f(q_j)-\bar{v})^2\right]} $$

当然,你还需要保证 uˉ>vˉ+109\bar u > \bar v + 10^{-9}

方便起见,你需要使用傅里叶级数描述 ff。即给定 kk,你需要求出最优的形如 f(x)=i=1kaicos(ix)+bisin(ix)f(x)=\sum_{i=1}^k a_i\cos(ix)+b_i\sin(ix) 的函数 ff,并输出 ai,bia_i,b_i 表示答案。请你保证 109maxi=1k{ai,bi}10910^{-9}\le \max_{i=1}^k\{|a_i|,|b_i|\} \le 10^9数据保证存在满足上述限制的最优解。

本题开启 Special Judge。给定容错度 ϵ=10E\epsilon=10^{-E}。当你给出的函数 ff 与答案给出的函数 ff^* 满足 $\operatorname{cost}(f)<\max(\epsilon+\operatorname{cost}(f^*),(1+\epsilon)\operatorname{cost}(f^*))$ 时认为你的答案正确。

输入格式

输入共三行。

第一行三个整数 n,m,k,En,m,k,E

第二行 nn 个整数,第 ii 个数为 pip_i

第三行 mm 个整数,第 jj 个数为 qjq_j

输出格式

输出 kk 行,每行两个浮点数 ai,bia_i,b_i

3 2 1 0
‐10838702 0 10838702
‐1 1
1 0
4 4 2 0
1 3 5 7
2 4 6 8
0.6648289523 ‐0.1433645347
0.6172866488 1.3647253547
见选手目录下的 mountain/mountain3.in 与 mountain/mountain3.ans。
见选手目录下的 mountain/mountain3.in 与 mountain/mountain3.ans。

提示

样例 1 解释

观察到 cos(10838702)=cos(10838702)1=cos(0)\cos(10838702)=\cos(-10838702)\approx 1 =\cos(0)cos(1)=cos(1)0.5403023\cos(1)=\cos(-1)\approx 0.5403023。即当 f(x)=cos(x)f(x)=\cos(x) 时,所有山羊几乎均位于同一海拔、所有绵羊均位于同一海拔、山羊所在位置均高于绵羊所在位置。此时 cost(f)0\operatorname{cost}(f) \approx 0 取得最优解。

值得注意的是,对于任何非零数 rr,函数 f(x)=rcos(x)f(x)=r\cos(x) 均可视为最优解。

样例 2 解释

最优函数(之一)约为 $f(x)=0.6648289523\cos(x)-0.1433645347\sin(x)+0.6172866488\cos(2x)+1.3647253547\sin(2x)$,其代价约为 3.9084390630113.908439063011

子任务

对于所有测试数据,保证 1n,m6001 \le n,m \le 6001kmin{n+m4,300}1 \le k \le \min\{\dfrac{n+m}{4},300\}0E90 \le E \le 90pi,qi1090\le |p_i|,|q_i| \le 10^9

保证每个测试数据中,pip_iqjq_j 均在该测试点数据范围内以及问题有解的条件下均匀随机生成。