1 条题解

  • 1
    @ 2025-5-22 20:22:07

    题解

    知识点:数组、桶

    首先用桶的方式来存储每种水果出现的次数,然后遍历桶,因为每次只能选择 2 2 个或者 3 3 个相同品种的水果来装盒,为了使得操作次数最少,我们应该尽量选择 3 3 个数字来删除,如果某数字出现次数刚好是 3 3 的倍数,那么需要删除 cnt3 \frac{cnt}{3} 次,如果出现次数模 3 3 1 1 ,那么需要删除 cnt3+1 \frac{cnt}{3} + 1 次(剩余4个时2+2),如果出现次数模 3 3 2 2 ,那么需要删除 cnt3+1 \frac{cnt}{3} + 1 次(剩余2个时删除2个)。

    由上述可知,某个数字所需的操作次数为:出现次数除以三向上取整的结果,即:$ \lceil \frac{cnt}{3} \rceil = \lfloor \frac{cnt + 2}{3} \rfloor $。

    如果出现次数为 1 1 ,那么直接返回 1 -1

    信息

    ID
    1224
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    8
    已通过
    4
    上传者