赛时挂了两发,讲下我的思路。
有两个道具嘛,转换和分裂。
首先为了方便,我提出一个超空间的概念——球球本没有颜色,只是装他们的箱子有颜色,使用转化时,不着急确定放到哪个箱子,先放超空间里。
若初始有球,先把分裂用完。
不用转换就相当于转成自己,所以把球尽可能扔超空间里。
如果这时超空间里没球,那么结局已定。
考虑有球。
第一问
那些初始有球的已经没用了。
初始没球的就可能有用,如果转换 ≥1,那么可以扔一个球进去,它会吐出起码能回本或更多的球回超空间。
最后把超空间的球扔到你要的纸箱,注意不要算重自己的贡献。
第二问
把上面的操作做了,怎么算也不亏。
接下来都是没有球和转化的无赖,按照其分裂从大到小把超空间的球分出去。
实现仅供参考,时间复杂度 O(nlogn)