题解:P12356 「HCOI-R2」Rabbit Panic (Hard Ver.)

· · 题解

题解:「HCOI-R2」Rabbit Panic (Hard Ver.)

再看之前求关(是我的的一篇题解,请求鼓励)

话说回来,这道题我也是看了别的老师的题解才打的,有错误私信

一、问题分析 题目要求将初始排列 {1,2,…,n}通过最少次数的操作变为所有元素相等。每次操作可选择m个不同位置,将它们的值同时改为它们的平均值。

二、关键结论

  1. 无解条件:当且仅当以下情况之一成立时无解:
    • m=1且 n≠1 (单次操作无法改变元素值)。

三、构造方案

  1. 特殊情况处理

    • n=1:输出 0(已满足所有元素相等)。
    • m=n:输出 1 次操作,选择所有位置 {1,2,…,n}。
  2. 两次操作的构造(有解时)

核心思想:通过两次重叠的操作覆盖所有 n 个元素,确保每个元素最终值为 2分之n+1。

示例(如输入 n=6,m=4):

四、代码实现

//你在想啥?代码怎么可能这么简单的给你

//你还是看别人的吧,我只会思路,代码.......