摘要: 思路 很简单的一道题,洛谷大概都不会开放题解通道?(实际上貌似每场比赛的 A 都没开放?) 显然,对于原数组较小的数,我们尽量让大的数,取全排列的较小的数,这样可以保证差是逐渐变小的,也就让 \(c\) 数组差异变大。 所以直接拿个 struct 存,然后两边排序就好。 AC code #inclu 阅读全文
posted @ 2023-09-12 11:58 One_JuRuo 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 写在前面 做 E1 的时候,直接想的正解,所以 E2 不需要改代码,E1 题解我也直接交的正解,详见我的题解。 在这里呢,主要是稍微证明一下询问次数不会超,如下: 可以发现,有余数的情况,只会增加两次询问,而后面的操作会增加 \(\frac n k\) 次情况,因为 \(k\le n\le k^2\ 阅读全文
posted @ 2023-09-12 11:58 One_JuRuo 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 思路 首先考虑,\(n\) 是 \(k\) 的倍数的情况,直接枚举询问所有每一段就好,然后输出每一段的异或和的异或和。 如上图,每次询问都没有重叠部分,颠转互不干扰。 那么,\(n\) 不是 \(k\) 的倍数的情况呢? 可以看到,与第一种情况的区别就是末尾多了一小截,那么我们需要考虑如何计算这一小 阅读全文
posted @ 2023-09-12 11:57 One_JuRuo 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 前言 赛时没调出来,赛后调了一个上午,最后发现是有个地方没清零。 思路 首先对于位置 \(i\),我们必须要保证进行的操作中,最后一次出现 \(i\),\(i\) 的后面一定是 \(a_i\)。 那么我们考虑统计所有位置上的要求,用有向边链接,那么就会出现一个有环有向图(一定有环,因为点数等于边数) 阅读全文
posted @ 2023-09-12 11:57 One_JuRuo 阅读(54) 评论(0) 推荐(1) 编辑
摘要: 思路 看着无从下手,实际上又是一道诈骗题。 假设原数列不存在 \(0\),那么我们可以直接加入 \(0\),然后游戏结束,假设答案是 \(k\)。那么,如果我们选择加入 \(k\),来试图让答案变大,那么 Bob 就会移除一个数,最优的话是 \(1\),这样的话,你无论加入 \(1\) 还是 \(0 阅读全文
posted @ 2023-09-12 11:57 One_JuRuo 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 思路 题目问的是改 \(i\) 位,能不能让原串变成回文串,其中 \(0\le i \le n\)。 首先,我们可以统计前后对称位置不一样的对数,记为 \(k\),那么至少也得改 \(k\) 次,假设剩下前后对称位置一样的有 \(m\) 对(如果 \(n\) 为奇数,则最中间的一位不计入 \(m\) 阅读全文
posted @ 2023-09-12 10:52 One_JuRuo 阅读(38) 评论(0) 推荐(0) 编辑