摘要: 通过打表,我们可以发现,每个数只要换最后一个就行了。 #include <cstdio> #include <iostream> using namespace std; int main() { int T; scanf ("%d", &T); while (T --) { int x; scan 阅读全文
posted @ 2022-02-04 15:08 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 因为题意是由后面复制到前面,那我们就从后往前考虑, 假设最后数组中全是 $x$, 因为最后一个数没有其他数能复制到它,所以 $x = a[n]$, 那我们做如下操作: 每次我们就找到末尾最长的全为 $a[n]$ 的串,设其长度为 $k$, 然后选 $n - 2k + 1 \sim n$,即将 $n 阅读全文
posted @ 2022-02-04 15:02 wangzhongyuan 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 显然,每个 $i$ 最多交换一次, 且 $\max (max (a_1,a_2,\cdots,a_n),max (b_1,b_2,\cdots,b_n))$ 是不变的, 有对称性,不妨设两数中的最大值为 $b_i$ 中的最大值, 所以我们就让 $a_i$ 中的最大值越小越好,也就是让每个数尽量小, 阅读全文
posted @ 2022-02-04 14:41 wangzhongyuan 阅读(1) 评论(0) 推荐(0) 编辑