逆天输出文件 .ans
reverse
水题,随便自己造两组数据都能看出规律:
\[\begin{cases}a_n a_{n - 2} \dots a_1 + a_2 a_4 \dots a_{n - 1}(n \mod 2 = 1) \\ a_n a_{n - 2} \dots a_2 + a_1 a_3 \dots a_{n - 1 } (n \mod 2 = 0)\end{cases}
\]
logistics
先求出最小生成树的 \(n - 1\) 条边,与新加入的 \(q\) 条边排序后比较然后再做 Kruskal。
sequence
从火柴排队一题借来一个重要结论:正序和 \(\geq\) 乱序和 \(\geq\) 逆序和,rxz 教过微扰法的证明。
那目标就很明确了,我们设 \(a'\) 为最优排列,则对于目标序列 \(a'\) 和 \(b\),可以发现若 \(b_i\) 为 \(b\) 中第 \(k\) 大数,那么 \(a'_i\) 也需要是 \(a'\) 中的第 \(k\) 大数。
记录原序列 \(a, b\) 上各个元素的排名,按值排序,模拟交换操作即可。
补题的时候干了 WA,记得 int * int 取模有可能爆,切记步步取模。
magic
不做人了。
反正就是一些魔法变成了经典放石子问题。
int 爆麻了,#define int long long
邪教拯救世界
傻逼 long long
要多取一次模