Polycarp at the Radio

· · 题解

考虑贪心。

要放置 n 个数,同时 m 个数中出现次数最少的要最大,显然这 n 个位置要尽量均匀的分配给这 m 个数。则出现次数最小的应为 \left\lfloor \frac{n}{m}\right\rfloor

则此时问题在于如何分配均匀且修改次数尽量小。首先判断每一个数的出现次数是否已经达到最低标准显然可以维护桶记录出现次数解决。随后如果未满足要求显然要寻找富余位置进行更改,但看到 1\le n,m\le 2000 显然可以想到暴力寻找空余位置(即循环查看位置对应的桶所记录的出现次数是否比标准多,如果多了直接更改即可),随后更改下更改位置对应的桶的出现次数即可(把不满足的数对应的桶加一,已经满足的减一)。

代码请自行编写,难度较低。