1 条题解

  • 1
    @ 2024-8-10 19:55:29

    注意到当前 rr 个数相同且与第 r+1r+1 个数不同时,我们可以让前 rr 个数变得与第 r+1r+1 个数相同:只需要对 i=r,r1,,1i=r,r-1,\cdots,1 分别操作一次即可,需要操作 rr 次。

    因此,我们可以花最多 k(k1)2\dfrac{k(k-1)}{2} 次操作让前 kk 个数相同。

    k=n2k=\left\lfloor\dfrac n2\right\rfloor,则我们可以花 k(k1)2\dfrac{k(k-1)}{2} 次操作让前 kk 个数相同,同理可以花 (nk)(nk1)2\dfrac{(n-k)(n-k-1)}{2} 次操作让后 nkn-k 个数相同。

    如果此时前 kk 个数与后 nkn-k 个数不同,可以再花 kk 让前 kk 个数变得与后面的数相同。

    综上,我们可以以 $\left\lfloor\dfrac n2\right\rfloor\left\lceil\dfrac n2\right\rceil$ 次操作使所有数相同,在给定的操作次数限制内。

    信息

    ID
    28
    时间
    1000ms
    内存
    512MiB
    难度
    4
    标签
    递交数
    553
    已通过
    209
    上传者